javascript - 如何将跨度添加到不受限制的节点的所有区域

标签 javascript jquery

这是 What's a good way to show parts of an element but hide the rest? 的延续

<h1>
  Let's say you had this <span class="safe">text</span>.
</h1>

如何使用 disappear 类(使用 jQuery)将所有非安全区域包装在一个元素中。

最终输出

<h1>
  <span class="disappear">Let's say you had this </span>
  <span class="safe">text</span>
  <span class="disappear">.</span>
</h1>

这样,父节点仍然可见,但非安全区域消失,留下安全

我不知道如何做到这一点,但肯定是可能的。

最佳答案

文本节点的 nodeType 为 3。迭代节点并使用 wrap() 来包装文本节点。:

$someElement.contents().each(function() {
    if (this.nodeType == 3)
        $(this).wrap('<span class="disappear" />');
});

http://jsfiddle.net/SnjnJ/

关于javascript - 如何将跨度添加到不受限制的节点的所有区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18521059/

相关文章:

javascript - 如何在 native react 中进行回调

javascript - 将空值显示为零

javascript - 使用 javascript 更改 <a> 标记以使用所选选项值

jquery - 使用 jquery json 对象使用 highchart 创建圆环图

javascript - 有没有办法在调用 noConflict() 后使用 $ ?

javascript - 如何仅当div的宽度超过一定高度时才显示按钮javascript?

javascript - 可点击网站的服装按钮..就像这个

asp.net - Microsoft 的 AJAX 工具包与 jQuery

javascript - 我需要拍摄在浏览器中播放的视频的快照

javascript - 如何确定 Node.js 正在等待什么来完成执行