扫码关注官方订阅号
如图,我要做一个ajax重新生成分页的,要把a换成span 把span 换成a ,应该怎么弄?
认证0级讲师
$('.current').replaceWith('<a>a标签</a>');
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')}); });
前面两位说得很多了我补充一下题外话:刷新 dom 树开销是比较大的,如果你只是想切换状态完全可以全部用a 标签切换 class 来实现同样的效果,这样就避免了大量的无谓 dom 结点刷新。至于通过样式把 a 标签搞成一个 span 的样子简直太简单了,控制其点击行为的方法也很简单。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
2个方法。
1)粗狂的:
2) 细致的:
前面两位说得很多了我补充一下题外话:
刷新 dom 树开销是比较大的,如果你只是想切换状态完全可以全部用a 标签切换 class 来实现同样的效果,这样就避免了大量的无谓 dom 结点刷新。
至于通过样式把 a 标签搞成一个 span 的样子简直太简单了,控制其点击行为的方法也很简单。