我想要的是item1
点击隐藏ID不是item1
的所有项目。
html:
<span id="select1">item1</span>
<span id="2">item1</span>
<div style="clear:both"></div>
<img src="http://www.lorempixel.com/100/100" id="item1">
<img src="http://www.lorempixel.com/100/100" id="item1">
<img src="http://www.lorempixel.com/100/100" id="item1">
<img src="http://www.lorempixel.com/100/100" id="item1">
<img src="http://www.lorempixel.com/100/100" id="item2">
<img src="http://www.lorempixel.com/100/100" id="item3">
<img src="http://www.lorempixel.com/100/100" id="item4">
<img src="http://www.lorempixel.com/100/100" id="item2">
这是演示版:Demo
答案 0 :(得分:1)
正如Madhu所说,它不是可验证的HTML,但是如果你想继续它: http://jsfiddle.net/5kJTU/
$('#select1').on('click',function(){
$('img').not("#item1").hide();
});
答案 1 :(得分:0)
对不同的元素使用相同的id不是一个好方法。 而是以这种方式使用它。
$('#select1').click(function(){
$(".item1").hide();
});
我更新了你的小提琴并将其与答案一起附加。 请参阅小提琴:http://jsfiddle.net/eRg7h/2/
答案 2 :(得分:0)
在改为像Madhu建议的类之后,在jquery $(".item1").hide();
答案 3 :(得分:0)
你当前的代码只是在item1.hide()
之前遗漏了哈希#$('#select1').click(function(){
$('#item1').hide();
});
上面的Madhu虽然是正确的。如果您有重复元素,请考虑更改为类而不是ID。
答案 4 :(得分:0)
在单个页面中为多个元素设置相同的ID将被验证为无效标记。根据标准ID,每个元素应该是唯一的,所以你不能这样做。
要解决此问题,您可以将id
属性更改为class
,然后您可以尝试以下代码:
<span id="item1">item1</span> <!--do id like this-->
<span id="item2">item2</span> <!--do id like this-->
<div style="clear:both"></div>
<img src="http://www.lorempixel.com/100/100" class="item1"> <!--changed id to class-->
<img src="http://www.lorempixel.com/100/100" class="item1">
<img src="http://www.lorempixel.com/100/100" class="item1">
<img src="http://www.lorempixel.com/100/100" class="item1">
<img src="http://www.lorempixel.com/100/100" class="item2">
<img src="http://www.lorempixel.com/100/100" class="item2">
<img src="http://www.lorempixel.com/100/100" class="item2">
<img src="http://www.lorempixel.com/100/100" class="item2">
$(function(){ // doc ready block starts
$('span[id^="item"]').on('click', function () {
var show = this.id; // "item1" if item1 clicked
$('img').hide(); // hide all img first
$('.' + show).show(); // show only click matched
});
});