0
我试图使用jQuery来选择除了匹配用户点击的按钮名称的类以外的所有div。 这里的样本HTML:选择除一个以外的所有div
<button name="apples">Apples</button>
<button name="oranges">Oranges</button>
<button name="bananas">Bananas</button>
<div> //This div is also accidentally targeted
<div id="apples">
<img src="" alt"" >
</div>
<div id="oranges">
<img src="" alt"" >
</div>
<div id="bananas">
<img src="" alt"" >
</div>
</div>
事情是这样的:
<script>
$("button").click(function() {
var name = $(this).attr('name');
$("div:not('#' + name)").toggle();
// This works, but it obviously also targets other divs on the page.
});
</script>
我想过尝试使用类,但似乎更复杂的选择,如儿童,家长,最接近等组合挣扎与非选择器。我试过--div:不是“”> img--和其他许多组合。我该怎么办?
在你想使用的类上使用一个类.... – epascarello
我该如何编写用于选择类的选择器,但缺少id?我以前尝试过,但是我猜写错了。我应该选择类与div然后隔离那些不包含id? – DavidG
字符串包装....'“div:not('#'+ name)”'会保持不变,你想要的是''name''变成变量'name'的值,然后做' “div:not(#”+ name +“)”'js不关心你使用哪种引号,但是一旦你使用了一个引号,就需要使用相同的字符来打破字符串。 – Kaiido