我需要在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');
});
答案 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的简单方法。
$(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)
$('.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);
});
});