この場合、jQuery が機能しない理由がわかりません。nav のすべての li アイテムを反復処理し、それぞれに ul 要素が存在するかどうかを確認しますが、すべてのアイテムが true を返します..?
私のマークアップ:
<div id="toolbar">
<ul>
<li>
<a href="somelink">some page</a>
</li>
<li>
<a href="somelink">some page</a>
</li>
<li>
<a href="somelink">some page</a>
<ul>
<li>
<a href="somelink">some page</a>
<ul>
<li>
<a href="somelink">some page</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
私のjQuery:
// if has children make red
$("#toolbar li").each(function(){
if($(this).has("ul")){
$(this).css("background", "#ff0000");
}
else
{
$(this).css("background", "#336699");
}
});
ご覧のとおり、3 番目の最上位レベルの li は true を返すはずですが、それらはすべて true を返します..?