在属性值中查找和替换

时间:2015-07-01 21:39:21

标签: jquery html image attributes attr

我有这个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>

我希望改变每一个&#34;背景&#34;到&#34;类别&#34;。我正在使用这个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课程。我在哪里错了?

由于

1 个答案:

答案 0 :(得分:1)

首先请注意,最好使用prop()进行此操作。其次,您可以传递prop()函数来处理匹配集中的每个特定元素并更新其值。试试这个:

$('.thumbnail').prop('src', function(i, val) {
    return val.replace('background', 'category');
});