Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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:使用jQuery拆分DOM节点_Javascript_Jquery_Dom - Fatal编程技术网

Javascript jQuery:使用jQuery拆分DOM节点

Javascript jQuery:使用jQuery拆分DOM节点,javascript,jquery,dom,Javascript,Jquery,Dom,我的问题是使用jquery拆分Dom元素 <span class="start"> <span class="second"> new text <span class='split'>is written</span> in this place. </span> </span> 新的文本是在这个地方写的。 我想像这样拆分上面的DOM <span class="start"><span

我的问题是使用jquery拆分Dom元素

<span class="start">
  <span class="second">
   new text <span class='split'>is written</span> in this place.
 </span>
</span>

新的文本是在这个地方写的。
我想像这样拆分上面的DOM

<span class="start"><span class="second">new text</span></span>

<span class="start"><span class="second">is written</span></span>

<span class="start"><span class="second">in this place.</span></span>
新文本
写
在这个地方。

请任何人给我一些建议。

一种方法是:

last_text=$('.split')[0].nextSibling; //get textNode after split span
prev_text=$('.split')[0].previousSibling; //get text Node before split span
current=$('.split').text(); //get split span text

$('.second').html(' '); //clear current html


cloned1=$('.start').clone(); // clone el
cloned1.insertAfter($('.start'));
cloned2=$('.start').first().clone(); //clone one more
cloned2.insertAfter($('.start').last());
//set text for elements
$('.start .second').eq(0).html(prev_text);
$('.start .second').eq(1).html(current);
$('.start .second').eq(2).html(last_text);
演示:

last_text=$('.split')[0].nextSibling//在拆分范围后获取textNode
prev_text=$('.split')[0]。previousSibling//在拆分范围之前获取文本节点
当前=$('.split').text()//获取分幅文本
$('.second').html('')//清除当前html
cloned1=$('.start').clone();//克隆el
cloned1.insertAfter($('.start'));
cloned2=$('.start').first().clone()//再克隆一个
cloned2.insertAfter($('.start').last());
//为元素设置文本
$('.start.second').eq(0.html(上一个文本);
$('.start.second').eq(1).html(当前);
$('.start.second').eq(2).html(最后一个文本)

新的文本是在这个地方写的。

不是有效的HTML标记。抱歉,抱歉。。。。