Javascript 解开元素的一部分?

标签 javascript jquery

如何在不删除父元素的情况下展开元素?

例如,如果我有以下内容

<strong>Some text <span>and some more text.</span> And a little more.</strong>

是否有 javascript 或 jquery 方法来解开跨度,从而导致

<strong>Some text </strong><span>and some more text</span><strong>And a little more.</strong>

我可以使用jquery的unwrap简单地从span中删除强标签,但这会导致span之外的文本也丢失标签。

最佳答案

这是一种方法:

$("strong").contents().filter(function () {
    return (this.nodeType==3)
}).wrap('<strong/>').parent().unwrap();

<强> jsFiddle example

这会导致:

<strong>Some text </strong><span>and some more text.</span><strong> And a little more.</strong>

关于Javascript 解开元素的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29068550/

相关文章:

jquery - 在 POST 之前从按钮提交的 SelectList 中选择所有选项

javascript - jQuery:ajaxSubmit/ajaxForm 有什么显着区别吗?

Javascript 测验 - 当用户得到结果时,显示一个弹出窗口

javascript - Php配置文件上传图片

jquery - $ ('input[value=""]').size() 不起作用

json - 为什么 $.each 说这个 JSON 对象未定义?

javascript - 设置间隔随机+超时

javascript - 两个元素的鼠标事件,一个在另一个之上

javascript - React Native XHR multipart/form-data 将数据发送为 [object Object]

javascript - 如何使用 JQuery 从 JSON 对象创建此选择列表?