Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
jQuery将锚定标记前后的文本括在单独的跨距中_Jquery_Dom - Fatal编程技术网

jQuery将锚定标记前后的文本括在单独的跨距中

jQuery将锚定标记前后的文本括在单独的跨距中,jquery,dom,Jquery,Dom,我有以下代码: <p>Hi. I am your friend. you are my friend.<br> we <a href="both.html">both</a> are friends.</p> 我的目标是将锚定标记之前以及锚定标记之后的文本包含在单独的跨距中。因此,我希望DOM中有这样的内容: <p><span>Hi. I am your friend. you are my friend.&l

我有以下代码:

<p>Hi. I am your friend. you are my friend.<br> we <a href="both.html">both</a> are friends.</p>
我的目标是将锚定标记之前以及锚定标记之后的文本包含在单独的跨距中。因此,我希望DOM中有这样的内容:

<p><span>Hi. I am your friend. you are my friend.<br> we </span><a href="both.html">both</a><span> are friends.</span></p>
有谁能帮助我并告诉我如何在jQuery中执行此操作吗?

由此,您应该能够执行以下操作:

$("p").contents().filter(function() {
    return this.nodeType == Node.TEXT_NODE;
}).wrap("<span/>");
因此,您应该能够执行以下操作:

$("p").contents().filter(function() {
    return this.nodeType == Node.TEXT_NODE;
}).wrap("<span/>");

问题是,内容在您的操作之前或之后


问题是,内容在您的操作之前或之后


你刚刚做到了!!千万次。。。你让我开心!你太棒了!!:我欠你一个人情…唯一的问题可能不是问题,就是你最终会在跨度之外,三个跨度而不是两个。你刚刚做到了!!千万次。。。你让我开心!你太棒了!!:我欠你一个人情…唯一的问题可能不是问题,就是你最终会在跨度之外,三个跨度而不是两个跨度。非常感谢!正是我需要的,这花了很长时间才找到。非常感谢!这正是我需要的,花了很长时间才找到。
$("p a").wrapSides();