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

ID は一意である必要があります。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 に答える