Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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 cloneNode(真)是这里的选项吗?_Javascript_Dom - Fatal编程技术网

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()
。通读遍历方法:啊……相对搜索是有意义的。塔克斯!