2016-02-11 27 views
1

是否有可能將此jquery腳本轉換爲非jQuery腳本?添加類與setTimeout沒有Jquery

window.setTimeout(function(){$("#fullcontent").addClass("onload");}, 2100); 

我想class 「的onload」 添加到div稱爲 「fullcontent」 與2,1s的setTimeout

回答

2
window.setTimeout(function() { 
    document.querySelector('#fullcontent').className = "onload"; 
}, 2100); 

例子:http://codepen.io/anon/pen/LGMKOJ

編輯:如果你不希望覆蓋元素的當前等級:

使用 .querySelector().concat()
window.setTimeout(function() { 
    var element = document.querySelector('#fullcontent'); 
    var className = element.className; 
    element.className = className.concat(" onload"); 
}, 2100); 
+0

一個臨時變量和.concat()? + =運算符不會更簡單嗎? – nnnnnn

+0

非常感謝!這樣做的工作,我不能投你的評論,但這是什麼幫助我:) – user2127403

+0

沒問題!不要擔心upvote,我認爲你可以接受它 – Pabs123

0

比替代不必要的和慢( GEBI和+=)。

如果你確定#fullcontent已經沒有階級「的onload」,這將很好地工作:

setTimeout(function() { 
    document.getElementById("fullcontent").className += " onload"; 
}, 2100); 

的更安全,更清潔的方式,以避免重複類,如果#fullcontent可能已經被賦予了「的onload」類:

setTimeout(function() { 
    var fullcontent = document.getElementById("fullcontent"); 

    if(fullcontent.className.indexOf("onload") === -1) { 
     fullcontent.className += " onload"; 
    } 
}, 2100); 

如果#fullcontent凡沒有類,你不需要追加,你可以簡單地覆蓋:

setTimeout(function() { 
    document.getElementById("fullcontent").className = "onload"; 
}, 2100);