-1

このjqueryコードを使用して、Beltsの下にあるSaleの下の2番目のulの表示をnoneからblockに変更しようとしています(belts-1 hrefがあります)。以下のコードは2番目の要素にアクセスしているはずですが、アクセスしていません。私は何が間違っているのですか?

$currentCategory = "Belts";
$(".sideCatMenu a:contains('" + currentCategory + "') ul").next(ul).eq(2).css('display', 'block');

このリストを検索しています

<li class="active"><a href="/sale/" class="parentSide">Sale</a><ul style="display: block;" class="subcat">
<li><a href="/accessories-3/">Accessories</a><ul style="display: none;">
<li><a href="/bags-1/">Bags</a></li>
<li><a href="/wristbands/">Wristbands</a></li>
<li><a href="/dog-collars/">Dog Collars</a></li>
<li><a href="/wallets/">Wallets</a></li>

</ul>
</li>
<li><a href="/ten-dollar-buckles/">Ten Dollar Buckles</a></li>
<li><a href="/belts-1/">Belts</a><ul style="display: none;">
<li><a href="/28-belts/">28" Belts</a></li>
<li><a href="/30-belts/">30" Belts</a></li>
<li><a href="/32-belts/">32" Belts</a></li>
<li><a href="/34-belts/">34" Belts</a></li>
<li><a href="/36-belts/">36" Belts</a></li>
<li><a href="/38-belts/">38" Belts</a></li>
<li><a href="/40-belts/">40" Belts</a></li>
<li><a href="/42-belts/">42" Belts</a></li>
<li><a href="/44-belts/">44" Belts</a></li>
<li><a href="/46-belts/">46" Belts</a></li>
<li><a href="/48-and-larger-belts/">48" and Larger Belts</a></li>

</ul>
</li>

</ul>
</li>
4

3 に答える 3

0

代わりにこれを試してください:

$(".sideCatMenu a:contains('" + currentCategory + "') ul")
                .nextAll("ul:eq(1)").css('display', 'block');

eqインデックス0で始まるため、2番目の要素の場合は「1」である必要があります。

于 2012-11-10T04:36:31.217 に答える
0

次のように、ULアレイの任意の要素と直接対話できます。

$("ul.subcat li").index(2);
于 2012-11-10T04:38:34.417 に答える
0

ul1-あなたのアンカーには子供がいないので:

$(".sideCatMenu a:contains('" + currentCategory + "') ul")

要素を選択しません。次のようになります。

$(".sideCatMenu a:contains('" + currentCategory + "')")

2-ul引用符で囲む必要があります。

next('ul')

3-next要素を1つだけ選択するためeq、コードで使用しても意味がありません。

4-あなたのコードcurrentCategoryはあなたがnotundefinedという名前の変数を持っているのと同じです。$currentCategorycurrentCategory

さて、これを試してみましょう:

$(".sideCatMenu a:contains('"+$currentCategory+"')").next('ul').show()
于 2012-11-10T04:46:42.997 に答える