爲什麼下面不工作?的JavaScript的getElementById不起作用
的javascript:
document.getElementById("page").style = "-webkit-filter: blur(5px);";
HTML:
<div id="page" style="" >some content</div>
感謝
爲什麼下面不工作?的JavaScript的getElementById不起作用
的javascript:
document.getElementById("page").style = "-webkit-filter: blur(5px);";
HTML:
<div id="page" style="" >some content</div>
感謝
確保你叫它後的元素已經準備好,使用類似window.onload
或只是有物理腳本在元素後面的頁面上...並設置適當的屬性:
window.onload = function() {
document.getElementById("page").style.webkitFilter = "blur(5px)";
};
元素的style
屬性是一個需要設置屬性的對象。您不應也不能將style
屬性設置爲字符串。當我嘗試時,出現SyntaxError: invalid label
錯誤。我知道設置特殊的「-webkit-filter」風格可能會引起混淆,但是「-webkit-」風格遵循style
對象中的約定 - 沒有引導的「 - 」,並替換其他的「 - 」 s與camelCase。
與此同時,它可能更容易,更高效(因此您可以添加其他樣式)來切換class
,而不是專門設置style
屬性。所以我建議使用:
document.getElementById("page").className += " transformer";
和定義的CSS類:
.transformer {
-webkit-filter: blur(5px);
}
這樣一來,如果有其他特定瀏覽器中實現風格,可以很容易地只需添加它們在這裏。具體而言,使用供應商前綴。
您可能在元素添加到頁面之前執行腳本。
如果你的網頁是沿着線:
<!DOCTYPE html>
<html>
<head>
<script>...</script>
</head>
<body>
<div id="page">some content</div>
</body>
</html>
然後你需要等待文件準備或試圖訪問#page
元素之前的onload
事件。
哦,謝謝你的幫助:)完美的作品! – eds1999 2013-04-08 17:39:37