影响所有图像的脚本而不是仅包含某些文本的div中的图像(jQuery)

时间:2014-09-17 22:45:10

标签: javascript jquery html css filter

我尝试过多种方式编辑此代码(使用if语句和每个语句)没有任何工作。这个想法很简单;如果div包含这个特定的文本,我想只更改该div中图像的src属性。

我似乎无法弄清楚我错过了什么。下面的代码更改了具有该类的所有div中的所有图像,而不仅仅是包含特定文本的图像。我已经尝试过这个'这个'但显然不明白它是如何影响功能的。

$(document).ready(function(){
    $('.my-content').filter(':contains("Top")').find('img').attr("src", "http://www.samplestuff.com/kids/test.png");
});

有人可以指出我需要更改的正确方向,使脚本只包含包含文本的div中的图像而不是所有div与该类,因为其中一个div确实包含该文本(I认为触发它的是什么;我也可能对此不以为然。

1 个答案:

答案 0 :(得分:1)

试试这个:

$(document).ready(function(){
    $('.my-content:contains("Top")').find('img').attr("src", "http://www.samplestuff.com/kids/test.png");
});

<德尔> See jQuery :contains docs

修改
其实我认为你的答案也应该有效。似乎在jsfiddle中可以正常工作,你可以发布你的标记吗?

$('div').filter(':contains("Top")').css("color", "red")
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Top</div>
<div>Right</div>
<div>Bottom</div>
<div>Left</div>