Javascript cloneNode(真)是这里的选项吗?
我想答案是“不”,但我想再核实一下 我有一篇文章基本上是这样的Javascript cloneNode(真)是这里的选项吗?,javascript,dom,Javascript,Dom,我想答案是“不”,但我想再核实一下 我有一篇文章基本上是这样的 <article id="thisArticle"> <h1 id="thisHeader"></h1> <ul class="thisList"> <li class-"listItem">some content</li> <li class-"listItem">some content</li> <
<article id="thisArticle">
<h1 id="thisHeader"></h1>
<ul class="thisList">
<li class-"listItem">some content</li>
<li class-"listItem">some content</li>
</ul>
</article>
- 一些内容
- 一些内容
..我想使用cloneNode从DOM复制它并更改其内容,但显然需要更改文章和h1标记上的ID。在本文中这样做很简单:要么使用JavaScript setaAttribute,要么使用jQuery.attr()(后者可能更好)。但我不确定如何瞄准h1,以便更改其id
我假设我不能使用cloneNode(true)同时复制父对象及其子对象。相反,我必须使用cloneNode(false)并只复制父级,然后使用createElement和appendChild手动添加子级。这很好,但我不是100%确定。仅供参考,我不会复制任何数据和/或事件
Thanx提前获取帮助。您可以轻松地复制带有子体的节点,然后遍历子体并进行必要的更改。它仍然是DOM,因此您可以使用任何DOM遍历方法或jQuery方法/选择器来获取所需的元素。我尝试了这个方法,每次我使用DOM遍历方法以标题为目标(例如$('#header'),它都以页面上的标题为目标,而不是我从DOM克隆的文章中的标题。不确定我在这里遗漏了什么/误解了什么。您必须相对于克隆节点进行搜索。例如:
$(clonedNode).find(“#header”)
甚至$(clonedNode).children().first()
。通读遍历方法:啊……相对搜索是有意义的。塔克斯!