- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
好的,我希望有人能帮助我。我预先道歉,这可能会令人困惑。我提供了一个示例来帮助缓解混淆,因为先看后听更好。
我创建了一个包含一组或一组组的网页。每个组都有一个子组。简而言之,这个页面将允许我将包含子组的多个组组合到一个新组中。该页面将提供在将旧子组组合到新组之前重命名它们以避免混淆的机会。
当组被重命名时,它会检查以确保不存在具有该名称的组。如果有,它会将自己从自己的组中复制到该组中,然后删除原始组。如果该组尚不存在,它将创建该组,将其自身复制到其中,然后删除原始组。
子组也可以重命名,此时它们将移动到具有相同名称的组(如果存在),或者创建一个新组(如果不存在)。
页面有一个主分区。主 div 包含“新子组”div。在每一个里面是另一个包含“旧子组”div 的 div。在重命名组时,我使用循环遍历“新子组”div 的子节点以找到每个子节点。然后将它们复制到主 div 中的新 div。
问题的症结就在于此。如果我遍历一个 DIV 并将其中的所有 DIV 复制到一个新的或现有的 DIV 中,一切都很好。然后,当我尝试获取该 DIV 并将其所有 DIV 复制到另一个或新的 DIV 时,它总是会跳过其中一个移动的 DIV。
为简单起见,我复制了下面的整个工作代码。要重现问题,请单击名称 ewrewrwe 旁边图像应出现的位置,然后将其重命名为其他名称。一切都很好。现在以相同的方式单击该新组并将其命名为其他名称。你会看到它每次都跳过一个。
我已将页面链接到此处:http://vtbikenight.com/test.html
链接很干净,这是我的个人网站,用于我所属的本地摩托车组。
谢谢大家的帮助!!!如果我能澄清任何事情,请告诉我。
我知道代码现在不是最好的,它只是演示代码,我的目的是让概念发挥作用,然后将其全部简化。
最佳答案
您需要在删除节点后减少计数,否则您将跳过刚刚取代已删除节点的节点。
for ( var count = 0; count < obj.childNodes.length; count++ )
{
if(obj.childNodes[count].tagName == 'DIV'){
//alert(obj.childNodes[count].tagName +" - "+obj.childNodes[count].id);
RenameOldSubGroup(obj.childNodes[count].id,NewNewGroupName)
count--; // Decrement count to account for node you removed
}
}
关于使用 appendchild 时,Javascript childNodes 找不到 div 的所有子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2655009/
只有 JS,没有 Jquery。 如何获取容器的所有子节点,然后为每个子节点获取子节点? 我不想将 ID 添加到作为网格行子级的每个包装器,我尝试使用“this”或此索引进行定位。该脚本应该是动态的,
我有这个简单的html: text1 text2 text3
谁能解释为什么 ChildNodes.FindNode('') (1) 失败但 ChildNodes[''] (2) 成功? ==> 代码: const cNodeSOAPEnvelope =
我需要帮助来理解我成功使用的 dart 代码。 (详细信息:我用它来注入(inject)包含绑定(bind)到可变 CSS 类的 SVG 图形) 我可以在这里调用构造函数参数“注入(inject)依赖
现在,在 Angular 代码的子函数中的compileNodes函数中,有以下几行: } else if (childLinkFn) { childLinkFn(scope, node.chil
您好,我是编码新手,有一个通用问题,我到处查找但找不到解决方案。我正在学习 javascript 教程,并遇到了这一行特定的代码。子节点指出属性“backgroundColor”未定义,我不确定为什么
使用这个 HTML: 还有这个 JavaScript: var x = document.getElementById("child").childNodes; console.log(x.leng
First p element (index 1) Second p element (index 3) 试图理解为什么索引 0 是文本节点。 根据 w3schools 的这个例子,索引 0、2
场景 我想获取 div 的所有子节点并更改其颜色。代码: function myFunction() { var divv = document.getElementById("divv");
http://www.quirksmode.org/dom/domform.html 我正在尝试在我的项目中实现这个扩展表单功能。但是无法找到字段名称(控制台日志返回“未定义”),直到我将输入字段放在
// Some jQuery to load the HTML file $(function(){ $("#myDiv").load("./someHTMLfile.html"); }); va
我正在尝试使以下代码为每个子节点工作一次。该函数还按照逻辑删除节点,对于多个子节点,它似乎永远不会遍历到每个子节点。 //Deleting from child node va
下面的代码应该让我获得表中复选框旁边的列的值,但是,单击按钮后,我将得到: Cannot read property childNodes of null 注意:来自 firebase 的数据库,表中
我想在 JavaScript 中将 Element 的 childNode 转换为数组。 如何将 childNode 转换为数组?有什么好主意吗? 最佳答案 我用 _.toArray() 做到了这一点
我有以下代码,我正在尝试动态地从元素 supercontainer 中动态删除所有“容器”元素。由于 nodeList 处于事件状态,因此以下代码应删除 container1 以及 container
从下图中可以看出,childNodes 数组有 13 个项目。但显然“book”元素只有 6 个子节点。为什么这是不准确的? 最佳答案 因为 childNodes 返回所有子节点,包括文本节点(即使它
我正在做(强烈推荐)Javascript 教程 ( http://www.newthinktank.com/2015/09/learn-javascript-one-video/ ),其中一个解决方案
我现在正在学习 JavaScript,我正在编写函数来更改每个段落标记 和字体样式标记emphasis(em) 的样式和 bold(b) 位于 内 元素。这是我的程序。 Lorem ipsum d
我是 Ajax 新手。 我正在尝试解析 this document . 我已经了解了 readystatechange,它正在获取 XML。但是当涉及到子节点及其值时,我感到困惑。 这是一些代码。如果
给定一个像这样的简单结构: Text1 Text2 Text3 LinkText4 我正在尝试使用 Javascript 提取所有 Text1-4,不带任何子节点。 循环列 ... x = rows[
我是一名优秀的程序员,十分优秀!