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>');