Javascript jQuery:选择不带标记的文本并用一个标记将其包装
我有一个代码,你可以在下面看到:Javascript jQuery:选择不带标记的文本并用一个标记将其包装,javascript,jquery,Javascript,Jquery,我有一个代码,你可以在下面看到: <div class="categories-list"> Description One <ul> <li> <span>CATEGORY1</span> <span>CATEGORY2</span> <span>CATEGORY3</span> </li> </ul>
<div class="categories-list">
Description One
<ul>
<li>
<span>CATEGORY1</span>
<span>CATEGORY2</span>
<span>CATEGORY3</span>
</li>
</ul>
</div>
描述一
-
类别1
类别2
类别3
我要做的是选择文本“Description one”,它周围没有标记,并使用jQuery将其用标记(特别是h2)包装起来,因此最终的代码如下所示:
<div class="categories-list">
<h2>Description One</h2>
<ul>
<li>
<span>CATEGORY1</span>
<span>CATEGORY2</span>
<span>CATEGORY3</span>
</li>
</ul>
</div>
描述一
-
类别1
类别2
类别3
我知道我可以使用wrap()函数完成第二件事。选择的部分就是我遇到的问题。Simple无法完成这项工作,除非您遍历元素的以下部分:
$(".categories-list").contents().first().wrap("<h2 />");
$(“.categories list”).contents().first().wrap(“”);
演示:Simple无法完成此工作,除非您仔细查看元素的以下部分:
$(".categories-list").contents().first().wrap("<h2 />");
$(“.categories list”).contents().first().wrap(“”);
演示:这里的魔法是获取所有子节点(包括您感兴趣的文本节点)和注释(!!)的内容.genious!如果文档中没有标签的文本很少,我想单独选择所有文本?@zorza可能需要更多代码,包括遍历这些元素。这里的神奇之处在于内容可以获取所有子节点(包括文本节点(如您感兴趣的)和注释(!!).genious!如果文档中没有标记的文本,我想单独选择所有文本?@zorza可能需要更多代码,包括遍历这些元素。