在div中查找值并替换

时间:2013-10-15 18:47:22

标签: javascript jquery

我需要在3个div中替换3个值。

<div class="bx-pager-item">
    <a class="bx-pager-link active" data-slide-index="0" href="">1</a>
</div>
<div class="bx-pager-item">
    <a class="bx-pager-link" data-slide-index="1" href="">2</a>
</div>
<div class="bx-pager-item">
    <a class="bx-pager-link" data-slide-index="2" href="">3</a>
</div>

我需要替换1,使用值&#39; test&#39 ;; 2,值为&#39; test1&#39 ;;和3的值为&#39; test2&#39;。

我尝试了以下代码但没有任何成功,任何帮助都将不胜感激。:

$(document).ready(function() {  
    var fandreplace = document.getElementsByClassName('bx-pager-item').innerHTML.replace('3', 'test2'); 
}); 

5 个答案:

答案 0 :(得分:2)

您应循环每个元素并相应地替换它们的值。

根据索引

进行替换
$('.bx-pager-link').text(function (i, v) {
    return 'test' + (i > 0): (i - 1): '';
});

根据值

替换
$('.bx-pager-link').text(function (i, v) {
    var val = parseInt(v, 10);
    return 'test' + (val > 0): (val - 1): '';
});

答案 1 :(得分:0)

您需要单独设置它们,因为新的html将是唯一的(您可以根据您真正想要替换它的方式进行循环)。

这是使用每个元素的“索引”更改内部html的简单方法。

fiddle

$(document).ready(function() {  
    $('.bx-pager-item:eq(0)').html('test'); 
    $('.bx-pager-item:eq(1)').html('test1'); 
    $('.bx-pager-item:eq(2)').html('test2'); 
});

答案 2 :(得分:0)

在jquery中你会做

 $('.bx-pager-item > a').each(function(){
    var str = $(this).text().replace('3', 'test2');
    $(this).text(str);
});

如果您想要多个值

 var map = {'3':'test2', '1':'test'};
 $('.bx-pager-item > a').each(function(){
    $(this).text(map[$(this).text()]);
});

答案 3 :(得分:0)

JSFiddle:http://jsfiddle.net/rNLvU/

$('.bx-pager-item').each(function(){
    var $this = $(this);
    $this.text('test'+$this.text().trim());
});

请注意,在此实例中需要修剪文本,因为元素的text()值中可能会出现前导空格

答案 4 :(得分:0)

试试这个:使用each来选择所有元素

$(document).ready(function(){
    $('.bx-pager-link').each(function (i, elem) {
        $(elem).text('test '+i);
    });
});