element.appendChild(node)是否将父节点的属性应用于子节点?

时间:2015-10-03 01:28:58

标签: javascript jquery html

我是HTML和JS的新手。 需要创建动态展开 - 折叠列表。     var parentId = document.getElementById(“ABCD”)     parentId.setAttribute(“数据肘节”,“崩溃”)     parentId.setAttribute( “数据对象”, “#collapse1”)     var tag = document.createElement(“ul”);     tag.setAttribute( “ID”, “collapse1”)     tag.appendChild(document.createTextNode( “PQR”))     parentId.appendChild(标签)

尝试列表 - A B C D    PQR

所以在这种情况下,当我点击ABCD时,PQR会被展开/折叠。 但问题是点击PQR,它再次崩溃。 那么parent的属性也会应用于子节点吗?

1 个答案:

答案 0 :(得分:1)

并不是它获得了它的父级属性,这与事件的处理方式有关,特别是event bubbling。单击子元素时,如果针对您单击的内容的所有父元素触发了单击事件,则单击

在您点击新元素的点击处理程序中<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="parent"> <div class="child"></div> <div class="child"></div> <div class="child"></div> <div class="child"></div> <div class="child"></div> <div class="child"></div> <div class="child"></div> <div class="child"></div> </div>所需的附加元素时,从冒泡中取消事件

追加后再执行以下操作

event.stopPropagation()

另外,我应该提到使用jQuery

,所有这些都会轻松10倍