更改标签但保留属性和内容 - jQuery/Javascript
<a href="page.html" class="class1 class2" id="thisid">Text</a>
更改为
<p href="page.html" class="class1 class2" id="thisid">Text</p>
我熟悉 jQuery 的 replaceWith
但据我所知,这并没有保留属性/内容。
注意:为什么 p 会有 href
?因为我需要在另一个事件中将 p
更改回 a
。
<a href="page.html" class="class1 class2" id="thisid">Text</a>
changed to
<p href="page.html" class="class1 class2" id="thisid">Text</p>
I'm familiar with jQuery's replaceWith
but that doesn't keep attributes/content as far as I know.
Note: Why would p have a href
? Cuz I need to change p
back to a
on another event.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这是一个更通用的方法:
您可以在此处尝试代码: http://jsfiddle.net/tTAJM/
Here is a more generic method:
You can try the code here: http://jsfiddle.net/tTAJM/
这是我用来替换 jquery 中 html 标签的方法:
我通常还会将其限制为特定的类,例如
$('a.class1').each(function()
作为示例多于。Here is a method I use to replace html tags in jquery:
I would also typically restrict it to a specific class, such as
$('a.class1').each(function()
for the example above.最好创建 jQuery 插件以便将来可重用:
用法:
示例: JSFiddle
It's better to create jQuery plugin for future re-usability:
Usage:
Example: JSFiddle
hacky 可以做到这一点
演示
hacky that do the trick
demo
我把它变成了一个普通的 JavaScript 函数:
如果你只想替换一个特定的标签,只需删除 for 循环:
I made it into one plain-javascript function:
If you want to replace only a specific tag, just delete the for loop:
试试这个:
try this: