2016-12-01 82 views
1

我想寫一個javascript插件檢測代碼塊的狀態,如果它不是在他的正常狀態,引發一些形式的通知。比較兩個HTML代碼塊

我用document.getElementById("alert");檢索代碼:

「正常」 狀態:

<div id="alert" class="tooltip normal" title=""> 
    <a href="https://"></a> 
</div> 

「特殊」 的狀態:

<div id="alert" class="tooltip special" title=""> 
    <a href="https://"></a> 
</div> 

我在保持想到了「正常「的狀態,並將其與實際狀態進行比較,看它是否不同。

有什麼建議嗎? 謝謝!

+0

檢查這一點,它擁有所有你需要http://stackoverflow.com/questions/9279368/how-to-get-all-css-classes-of-an-element – xShirase

+0

不要擔心拿起倫敦語言,這很像英語,只是更多的褻瀆。 –

+1

謝謝大家,'.classList.contains'爲我解決了它! –

回答

0
function containsClass(element, className) { 
    return element.classList.contains(className) 
} 

var result = containsClass(document.getElementById('alert'), 'special') 

或只是只是......

var result = document.getElementById('alert').classList.contains('special') 
0
function checkNormal(){ 
    var node = document.getElementById('alert'); 
    return node.className.indexOf('normal') > -1 ; 
} 
0

如果你需要找到的元素,並檢查他們的類名來檢測的狀態,下面的代碼應該解決您的問題

var elems = document.querySelectorAll("[id=alert]"); 

for (var i=0;i<elems.length;i++) 
{ 

    var elem = elems[i]; 
    if (elem.className=='tooltip special') 
    {alert('special one');} 
    else 
    {alert('not special');} 
} 

的jsfiddle:https://jsfiddle.net/yzq6gp7w/4/