首页 > jq 怎么把span 标签 替换成a标签呢?

jq 怎么把span 标签 替换成a标签呢?


如图,我要做一个ajax重新生成分页的,要把a换成span 把span 换成a ,应该怎么弄?


$('.current').replaceWith('<a>a标签</a>');

前面两位说得很多了我补充一下题外话:
刷新 dom 树开销是比较大的,如果你只是想切换状态完全可以全部用a 标签切换 class 来实现同样的效果,这样就避免了大量的无谓 dom 结点刷新。
至于通过样式把 a 标签搞成一个 span 的样子简直太简单了,控制其点击行为的方法也很简单。


2个方法。
1)粗狂的:

// 假设span的数目比a多,先备份少的,然后替换多的,然后在把备份替换回来。顺序不能错。
$('a').replaceWith(function(){
    return $("<a2 />", {html: $(this).html()});
});
$('span').replaceWith(function(){
    return $("<a />", {html: $(this).html()});
});
$('a2').replaceWith(function(){
    return $("<span />", {html: $(this).html()});
});

2) 细致的:

// 初始化的时候,给全部span跟a不同的class。然后,假设span的数目比a多, 从最多的开始替换。顺序不能错。

$('span.spanClassName').replaceWith(function(){
    return $("<a />", {html: $(this).html(), class:$(this).attr('class')});
});

$('a.aClassName').replaceWith(function(){
    return $("<span />", {html: $(this).html(), class:$(this).attr('class')});
});
【热门文章】
【热门文章】