jQuery选择菜单显示具有相同ID的兄弟姐妹隐藏其他兄弟姐妹

我有一个选择菜单,根据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?

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/