2017-09-13 7 views
0

liactive classがあるかどうか確認したいと思います。これは、ブートストラップコードで私のHTMLです:liにidに基づいて特定のクラスがあるかどうか確認してください

if ($("#monthly").hasClass("active")) { 
 
    alert('hi'); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li role="presentation" id="monthly" class="active"><a href="#monthly_mship" class="text-uppercase" aria-controls="settings" role="tab" data-toggle="tab" aria-expanded="true"> MONTHLY</a></li> 
 
</ul>

どういうわけか

その動作していません。これで私を助けてください。

編集:このliがナビゲーションタブに表示されるように質問を言い換えると、クリック時にアクティブなクラスが表示されます。

+1

あなたが示されたコード正常に動作します - あなたはスニペットから見ることができるようにIあなたの質問に編集されています。コンソールでエラーがないか確認し、jQueryコードがdocument.readyイベントハンドラで実行されていることを確認してください。 –

+1

'$(function(){/ * code here * /}); ' DOMが読み込まれる –

答えて

2

ここはlearn.jqueryからの引用です。

ドキュメントが「準備完了」になるまでページを安全に操作することはできません。 jQueryがこの状態を検出します。 Code inside $(document).ready()は、ドキュメントオブジェクト モデル(DOM)を実行するためのJavaScriptコードの準備が整った後にのみ実行されます。前回のため

$(document).ready(function() { 
    if ($("#monthly").hasClass("active")) { 
     alert('hi'); 
    } 
}); 

または速記:

だから、あなたのコードが内部であることを確認してください

$(function() { 
    if ($("#monthly").hasClass("active")) { 
     alert('hi'); 
    } 
}); 
関連する問題