javascript - jq 怎么把span 标签 替换成a标签呢?
PHP中文网
PHP中文网 2017-04-10 16:51:13
[JavaScript讨论组]


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

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
PHP中文网
$('.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 的样子简直太简单了,控制其点击行为的方法也很简单。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号