jQueryが希望の新しいクラスをボディに適用して、最初のコンディションを常に条件の異なる無条件にする理由を理解できませんでした。すべてのケースで最初の条件で条件がTrueと評価される
HTMLは、これらの異なるタグが含まれています
<h1 class="entry-title">Intro Audios</h1>
<h1 class="entry-title">Level 1 Audios</h1>
<h1 class="entry-title">Level 2 Audios</h1>
<h1 class="entry-title">Level 3 Audios</h1>
16ページは正確で、H1タグ最初aboeveを含むように、他の16は、上記などのH1タグが含まれています。
しかし、関係なく、私はbodyタグに追加されたクラスを訪問どのページ常にではない「レベル1」
<script>
jQuery(document).ready(function($){
var level1 = $("h1.entry-title:contains(Level 1)");
var level2 = $("h1.entry-title:contains(Level 2)");
var level3 = $("h1.entry-title:contains(level 3)");
if (level1)
{
$(document.body).addClass('level-1');
} else if (level2)
{
$(document.body).addClass('level-2');
} else if (level3)
{
$(document.body).addClass('level-3');
} else
{
$(document.body).addClass('intro');
}
});
</script>
は私が間違って何をしているのですか?
'if(level1)'の期待される結果は? 'jQuery()'はオブジェクトを返します。 – guest271314
あなたは:contains引数に引用符を追加しようとしましたか? var level1 = $( "h1.entry-title:contains( 'Level 1')"); – foxinatardis
guest271314期待される結果はbodyタグに追加された新しいクラスです。 if(level1)の場合bodyタグに追加されたクラスは 'level-1'です。どちらが起こるのですか?他の条件が真であれば、 'level-1'クラスもbodyタグに追加されます。 – Agustin