Javascript 在div中查找一个值并替换
我有3个值需要在3个div内替换Javascript 在div中查找一个值并替换,javascript,jquery,Javascript,Jquery,我有3个值需要在3个div内替换 <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<
<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>
您需要单独设置它们,因为新的html将是唯一的(您可以根据您真正想要替换它的内容进行循环) 下面是一种使用每个元素的“索引”更改内部html的简单方法
您应该循环每个元素并相应地替换它们的值 根据索引进行替换
$('.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): '';
});
在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()]);
});
JSFiddle:
注意:在这种情况下,文本需要修剪,因为元素的text()值中可能会出现前导空格
$(document).ready(function(){
$('.bx-pager-link').each(function (i, elem) {
$(elem).text('test '+i);
});
});
这是一个需要循环使用的集合,或对集合使用
[]
。您需要使用修改后的html将其分配给innerHTML,因为它只是一个sstring rep,不包含任何引用。
var map = {'3':'test2', '1':'test'};
$('.bx-pager-item > a').each(function(){
$(this).text(map[$(this).text()]);
});
$('.bx-pager-item').each(function(){
var $this = $(this);
$this.text('test'+$this.text().trim());
});
$(document).ready(function(){
$('.bx-pager-link').each(function (i, elem) {
$(elem).text('test '+i);
});
});