在属性值内查找和替换
Find and replace within attribute values
我有这个 HTML 代码:
<div class='images'>
<img class='thumbnail' src='background/01.png' />
<img class='thumbnail' src='background/02.png' />
<img class='thumbnail' src='background/03.png' />
<img class='thumbnail' src='background/04.png' />
<img class='thumbnail' src='background/05.png' />
</div>
我希望将每个 "background" 更改为 "category"。我正在使用这个 jQuery 片段:
jQuery(document).ready(function(){
$('.thumbnail').attr('src', $('.thumbnail').attr('src').replace('background', 'category'));
});
但结果:
<div class='images'>
<img class='thumbnail' src='category/01.png' />
<img class='thumbnail' src='category/01.png' />
<img class='thumbnail' src='category/01.png' />
<img class='thumbnail' src='category/01.png' />
<img class='thumbnail' src='category/01.png' />
</div>
请注意:我无法更改 img class。我哪里错了?
谢谢
首先请注意,最好为此使用 prop()
。其次,您可以传递 prop()
一个函数来处理匹配集中的每个特定元素并更新其值。试试这个:
$('.thumbnail').prop('src', function(i, val) {
return val.replace('background', 'category');
});
我有这个 HTML 代码:
<div class='images'>
<img class='thumbnail' src='background/01.png' />
<img class='thumbnail' src='background/02.png' />
<img class='thumbnail' src='background/03.png' />
<img class='thumbnail' src='background/04.png' />
<img class='thumbnail' src='background/05.png' />
</div>
我希望将每个 "background" 更改为 "category"。我正在使用这个 jQuery 片段:
jQuery(document).ready(function(){
$('.thumbnail').attr('src', $('.thumbnail').attr('src').replace('background', 'category'));
});
但结果:
<div class='images'>
<img class='thumbnail' src='category/01.png' />
<img class='thumbnail' src='category/01.png' />
<img class='thumbnail' src='category/01.png' />
<img class='thumbnail' src='category/01.png' />
<img class='thumbnail' src='category/01.png' />
</div>
请注意:我无法更改 img class。我哪里错了?
谢谢
首先请注意,最好为此使用 prop()
。其次,您可以传递 prop()
一个函数来处理匹配集中的每个特定元素并更新其值。试试这个:
$('.thumbnail').prop('src', function(i, val) {
return val.replace('background', 'category');
});