0

我有一个动态构建的无序列表,如下所示,一旦使用 jquery 加载列表,我想找到一种方法来扩展具有特定 ID 的链接上方的所有节点,

例如,我可能希望将 id=1905 的链接所需的所有节点展开为可见,并让所有其他节点折叠。

希望这是有道理的。

    <div id="menu">
        <ul>
            <li><a class="inactive" href="#"><img src="images/folder.png">Baking</a>
                <ul>
                    <li><a class="inactive" href="#">Bars</a>
                        <ul>
                            <li><a id="1905" class="rlink" href="url">Rasberry Crumb Breakfast Bars</a></li>
                        </ul>
                    </li>
                </ul>
            </li>
            <li><a id="1803" class="rlink" href="url">text</a></li>
        </ul>
    </div>

所以列表最初会像这样加载

在此处输入图像描述

我想像这样扩展它

在此处输入图像描述

4

1 回答 1

0

You could try going up the parent nodes of the element you want and activate them:

var parentList= $('#link1905').closest('ul');

while (parentList.length > 0) {
    parentList.prev('a').removeClass('inactive'); /* and/or .addClass('active'); */

    parentList = parentList.closest('ul');
}

Also you must start your element id's with a letter: What are valid values for the id attribute in HTML?

于 2012-11-18T10:54:15.363 回答