JQuery选择基于多个变量(特定字符串)

时间:2012-02-20 19:06:07

标签: jquery if-statement

我想创建一对if语句使用contains(* =)和img等于(=)来获取ID。我可能做错了什么?

if($("div[id*='Point_'], [img='gray.png']").length > 0 ) {

// do something gray
}

if($("div[id*='Point_'], [img='red.png']").length > 0 ) {

// do something red
}
<div id="Point_1">
    <img src="gray.png">
</div>
<div id="Point_2">
    <img src="red.png">
</div>

2 个答案:

答案 0 :(得分:4)

您尝试使用标签选择器,如属性选择器。如果您想匹配<img>属性等于src的{​​{1}}代码,则正确的选择器为gray.png

此外,这可能会或可能不正确您想要做什么,但jQuery选择器中的逗号就像一个OR,所以你说“给我任何$('img[src="gray.png"]')元素{{{ 1}}属性包含文本'Point_'或任何<div>元素,其中src与'gray.png'匹配。“如果那就是你想要的,那就好了。

但是,您想要做的更有可能的是选择id元素,<img>等于<img>src内有ID包含'Point_',因此选择器应为:

gray.png

答案 1 :(得分:2)

如果您尝试选择特定字符串,则需要从字符串中删除逗号。使用逗号分隔选择器可根据任何选择器选择多个元素。没有逗号选择所有选择器上的匹配。请参阅here