Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:选择不带标记的文本并用一个标记将其包装_Javascript_Jquery - Fatal编程技术网

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可能需要更多代码,包括遍历这些元素。