10

我想更改选择器旁边的元素的 css 属性。

我用过这个语法

$('#hide').next().next().css('display', 'block');

但我认为可以使用另一种更好的方法,例如find()eq()

<li class="expandable">
    <div class="hitarea collapsable-hitarea"></div>
    <div id="hide" class="hide"></div>
    <a href="#" class=""> <strong>Stitched</strong> </a>

    <ul style="display: none;" id="hi">
        <li> <a href="#"> Hand Block Print </a> 
        </li>
        <li> <a href="#"> Designer </a> 
        </li>
        <li class="last"> <a href="#"> Screen Printed </a> 
        </li>
    </ul>
</li>
4

2 回答 2

21

你可以试试

  $('#hide').nextAll().eq(1).css('display', 'block');

nextAll()返回所有下一个元素,eq(1)返回其中的第二个。

于 2013-04-08T08:58:36.247 回答
4

尝试使用.siblings选择器:

$('#hide').siblings("ul").css('display', 'block');

或按索引:

$('#hide').siblings("ul").eq(0).css('display', 'block');

示例 jsFiddle

于 2013-04-08T08:59:59.933 回答