css类pageLink
有严重的元素
我想在这些链接中替换一些字符串
$(".pageLink").html($(".pageLink").html().replace("x", "y"));
问题是,第二个$(".pageLink").html()
获取任何元素的内部HTML,而不一定是我即将更改/设置的元素的html。我需要像
$(".pageLink").html(this.html().replace("x", "y"));
jQuery中是否存在类似的内容,或者我是否必须使用each
循环?
答案 0 :(得分:3)
您不需要each
循环遍历所有元素。您可以使用函数来设置元素的innerHTML。
$(".pageLink").html(function(ind, elHtml) {
return elHtml.replace("x", "y");
});
答案 1 :(得分:2)
如果你有一个选择集,并且你想要将每个元素与自身匹配,你需要在setter中使用each
循环或类似的循环结构,因为你需要一个函数作用域,所以没有聪明的方法命令this
在您的例子中起作用:
$(".pageLink").html(function(_, v){
return v.replace("x", "y");
});
答案 2 :(得分:2)
您可以使用each
$('.pagelink').each(function(){
$(this).html(function(i,v){
return v.replace("x", "y");
});
});
答案 3 :(得分:2)
使用jQuery.each()
方法迭代元素并将HTML单独应用于每个链接。
$(".pageLink").each(function() {
$(this).html($(this).html().replace("x", "y"));
});
答案 4 :(得分:2)
将innnerHtml值作为回调函数中的参数,
$(".pageLink").html(function (idx, elm) {
return elm.replace("x", "y")
});