1

我有一个选择菜单,根据 ID 显示或隐藏列表项。除了我的列表有多个具有相同 ID 值的 LI。

这仅显示列表中具有匹配 ID 值的第一个 LI。

$(function() {
    $("#orientation").change(function() {
        if (this.value == 'all') {
            $("#images").children().show();
        }
        else {
            $("#" + this.value).show().siblings().hide();
        }
    });
    $("#orientation").change();
});​

http://jsfiddle.net/dRqRV/

如何显示具有相同 ID 值的所有兄弟 LI?

4

1 回答 1

2

IDs 必须是唯一的,jQuery 只选择具有特定 ID 的第一个元素,您可以将 ID 更改为类和代码:

$(function() {
    var $li = $('#images').find('li')
    $("#orientation").change(function() {
        if (this.value == 'all') $li.show();
        else $li.hide().filter("." + this.value).show();
    }).change();
});

http://jsfiddle.net/Z3Qgz/

于 2012-12-18T01:39:29.003 回答