我想创建一对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>
答案 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。