2016-12-01 13 views
1

コードブロックの状態を検出するためのjavascriptプラグインを作成しようとしています。通常の状態でない場合は、何らかの通知をトリガーします。2つの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/