我在div中有一个图像如下:
<div id="testdiv">
<div class=".kl"> </div>
<img src="../../testimage.png"/>
</div>
我想测试div中是否存在图像。 我已经知道了一个jquery条件,它适用于所有条件:
if ($("#testdiv").children('img').attr('src','testimage.png')) {
alert('image found');
}
if ($("#testdiv").children('img').attr('src','dummyimage.png')) {
alert('image found');
}
控件进入第二个&#39; if&#39; 条件不正确,因为&#中没有 dummyimage.png 34; testdiv&#34; 即可。 如何通过图像名称找出它是否存在于div中?
答案 0 :(得分:4)
您的代码不是按属性搜索,而是设置属性。
如果您想按照给定值结尾的属性进行搜索,可以使用attribute-ends-with selector([name$=value-it-ends-with]
):
if ($("#testdiv img[src$='testimage.png']").length) {
// yes, it's there
} else {
// no, it isn't
}
还有attribute-contains selector(*=
而不是$=
),它可以匹配任何地方的sbustring,而不仅仅是最后。并且^=
仅在开头时匹配。更多信息the documentation。
答案 1 :(得分:2)
您可以使用filter()
过滤掉指定字符串文字的所有图像src endsWith()。然后检查其length属性
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.10/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
<!--//************ EXAMPLE 1 *******************-->
<fieldset>
<legend>Example 1 (Set selection as <strong>object</strong>)</legend>
<select ng-model="my_os" ng-options="os.name for os in osList track by os.id">
<option value="">--Select--</option>
</select>
{{my_os}}
</fieldset>
<!--//************ EXAMPLE 2 *******************-->
<fieldset>
<legend>Example 2 (Set selection as <strong>value</strong>. Simulate ajax)</legend>
<select ng-model="my_site" ng-options="site.id as site.name for site in siteList">
<option value="">--Select--</option>
</select>
{{my_site}}
</fieldset>
</div>
答案 2 :(得分:1)
您应该以这种方式检查:
if ($("#testdiv").children('img').attr('src').endsWith('testimage.png')) {
alert('image found');
}
if ($("#testdiv").children('img').attr('src').endsWith('dummyimage.png')) {
alert('image found');
}
答案 3 :(得分:0)
我认为.attr(key, value)
尝试将值设置为元素,而不是检查属性值是否为提供的值。因此if()得到一个真正的,只要它可以设置&#34; dummyimage.png&#34;到图像src。这可能不是你想要的。
相反,您应该在if中使用.attr('src') == 'dummyimage.png'
(或更好,使用.indexOf()
或正则表达式而不是==
)。这应该会有所帮助。
答案 4 :(得分:0)
检查图像是否存在
if($("#div").find('[name="ElementNameHere"]').length>0)
{
// image exists
}
else
{
// image does not exists
}
答案 5 :(得分:-3)
您只需为img设置ID即可。并使用此jquery。
if ( $('#myElement').length ) {
// it exists
}