Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.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 id='container'> . . . <div id='fromHere'>...</div> foo<br /> bar<br /> <div class='etc"> ... </div> </div> <div id='container'> . . . <div id='fromHere'>...</d

我有这样的内容:

<div id='container'>
.
.
.
 <div id='fromHere'>...</div>
  foo<br />
  bar<br />
  <div class='etc">
   ...
  </div>
</div>
<div id='container'>
.
.
.
 <div id='fromHere'>...</div>
  <div id='newDiv'>
   foo<br />
   bar<br />
   <div class='etc">
    ...
   </div>
 </div>
</div>

.
.
.
...
foo
酒吧

您可以使用、和的组合:

var$elements=$(“#容器”).contents();
$elements
.slice($elements.index($('#fromHere'))+1)
.wrapAll(“”);


这将获取
#container
的所有子节点,确定其同级中
#fromHere
的索引,获取以下所有同级并将它们包装到新元素中。

您可以使用和的组合:

var$elements=$(“#容器”).contents();
$elements
.slice($elements.index($('#fromHere'))+1)
.wrapAll(“”);


这将获取
#container
的所有子节点,确定其同级中
#fromHere
的索引,获取所有后续同级并将它们包装在新元素中。

您能否尝试更清楚地解释一下您要做的事情?你不能直接编辑HTML吗?你想做的是把所有内容包装在新的div中的#fromHere div之后吗?html是由CMS动态生成的,所以我不能直接编辑它。我试图简化一些相当复杂的内容,但基本上,我只能在#容器中操作内容。我需要做大量的查找和替换工作,然后重写.html()。麻烦的是,我使用的javascript包含在#fromHere中,因此我必须在不覆盖脚本本身的情况下处理它后面的所有内容。您能否尝试更清楚地解释一下您要做的事情?你不能直接编辑HTML吗?你想做的是把所有内容包装在新的div中的#fromHere div之后吗?html是由CMS动态生成的,所以我不能直接编辑它。我试图简化一些相当复杂的内容,但基本上,我只能在#容器中操作内容。我需要做大量的查找和替换工作,然后重写.html()。问题是,我使用的javascript包含在#fromHere中,因此我必须在不覆盖脚本本身的情况下处理它后面的所有内容。这看起来很好用+1现在,我会给它一个很好的锻炼后,似乎是工作-整洁+1.现在开始,以后我会好好锻炼
var $elements = $("#container").contents();
$elements
  .slice($elements.index($('#fromHere')) + 1)
  .wrapAll('<div id="newDiv"></div>');