2009-03-03 71 views
21

通常情況下,如果您需要在JavaScript設置style屬性,你這樣說:在Javascript中是否有跨瀏覽器設置style.float的方式?

element.style.attribute = "value"; 

有輕微的變化,但通常的屬性名是相似的,儘管駝峯格式的HTML的版本屬性名稱。

我的問題是float屬性不起作用。 Float是JavaScript中的一個關鍵字,因此style.float使分頁符的所有JavaScript成爲可能。我看了MSDN,並說要用styleFloat像這樣:

element.style.styleFloat = "value"; 

這隻能在IE瀏覽器。 Firefox,Safari,Chrome,Opera - 他們都沒有答案。我哪裏錯了?必須有一個簡單的答案。

回答

35

使用cssFloat在...

element.style.cssFloat = "value"; 

這一切作品除了 IE 8及以上,但你總是可以檢測瀏覽器和開關,或只是將它們兩者。不幸的是,沒有辦法只設置一種風格值在所有瀏覽器中工作。

所以總結一下,每個人都需要設置浮動,只是說:

element.style.styleFloat = "value"; 
element.style.cssFloat = "value"; 

應該工作無處不在。

+1

爲什麼不`element.style [ '浮動'] = 「值」;` ?對於可以在JavaScript對象中使用的字符沒有限制。 – doug65536 2013-08-24 08:45:41

+0

MDN鏈接:https://developer.mozilla.org/en-US/docs/Web/CSS/float – Basilevs 2013-10-17 16:09:21

0

更好:

element.style.styleFloat = element.style.cssFloat = "value"; 
0

這是一個功能嗅的方法:

if (typeof elmt.style.cssFloat != "undefined") 
    elmt.style.cssFloat = "none"; 
else 
    elmt.style.styleFloat = "none"; 

但通常我們並不需要這方面的檢測打擾。我已經測試user2719099與Chrome的做法如下:

 elmt.style.cssFloat = elmt.style.styleFloat = "none"; 
     console.log(elmt.style.cssFloat, elmt.style.styleFloat); 

,其結果是在控制檯相當不錯:

none none 
相關問題