Javascript取消标记没有id的跨度

标签 javascript jquery

是否有可能找到并取消标记字符串中没有 ID 的跨度?我有一段文本,其中有一堆跨度,其中一些有 ID,而另一些则没有。

输入:

<span>Hi there!</span><span id="blabla">This is a test</span>

输出:

Hi there!<span id="blabla">This is a test</span>

我更喜欢 JavaScript 函数,但如果 jQuery 能让事情变得更简单,我不介意使用它!

最佳答案

您应该能够使用 :not 的组合伪选择器和一个“has-attribute”选择器:

$("span:not([id])").contents().unwrap();

这是一个 working example .注意 HTML 代码是如何由 4 个 span 元素组成的,CSS 规则适用于所有 span 元素,但不适用于 2 个 span > 没有 id 的元素,因为它们已被上述 jQuery 解包。

contents方法返回所选元素的所有子元素,并且 unwrap删除父级,在这种情况下将是不需要的 span

关于Javascript取消标记没有id的跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8129509/

相关文章:

javascript - 悬停时显示的动态定位弹出定义

javascript - http ://example. com 和 www.example.com 之间真的有区别吗?

javascript - 如何使用 Express/Node 以编程方式发送 404 响应?

jQuery:使用多个类进行过滤

javascript - 如何使用两个按钮调用和隐藏列表 - 使用 Javascript HTML CSS?

javascript - 如何创建一个包含元组的集合,其中每个元组必须是唯一的?

javascript - 如何以指定格式 : day. 月年在 javascript 中获取日期?

javascript - 如何在没有 jQuery 的情况下模拟命名空间事件或解除单个事件的绑定(bind)?

javascript - 需要帮助通过 JavaScript 和 JQuery 创建基于点击的表单元素

javascript onclick 事件未正确触发