我想通过src属性选择一个图像(使用jQuery)。 Image位于ul和div的集合中。 ul的id是“可排序的”。
这是我的HTML:
<ul id="sortable">
<li id="pic_0">
<div class="sortEleWrapper">
<div class="imgWrapper">
<img src="/test1.jpg">
</div>
<input type="text" name="picText" id="picText" value="""" style="width:105px;color:#aaa" class="sortInput">
</div>
<input type="hidden" id="picSrc" name="picSrc" value="/test1.jpg">
</li>
</ul>
等
这是我的js:
if($('#sortable').find('img[src="/test1.jpg"]').length > 0){
alert('img exists');
}else{
alert('img doesnt exists');
}
我的问题是,他们找不到任何图像。但如果我像这样写js:
if($('img[src="/test1.jpg"]').length > 0){
alert('img exists');
}else{
alert('img doesnt exists');
}
所以他们找到了图像。
答案 0 :(得分:28)
我不确定原因,但尝试使用the $=
attribute ends with选择器。
似乎工作。
示例: http://jsfiddle.net/bTf7K/
$('#sortable').find('img[src$="/test1.jpg"]')
编辑:差异可能与获取jQuery在不同时间使用的属性值的方法有关。
使用原生方法:
element.getAttribute("src") // returns the actual value that was set
element.src // returns the value but with the full domain path
所以我猜测jQuery会在不同的时间使用这两种方法。