从对象变量中获取子节点
Getting th ChildNodes from an object variable
我的代码遇到了一个小障碍 - 下面是我的代码:
var actionsAllowed = $(packet).find('actionsAllowed');
这会在火虫控制台中返回以下内容:
对象[操作允许]
单击"允许的操作"将我带入数据包并进入正确的部分,在那里我看到了列出的两个操作。
我可以展开对象并最终看到以下内容:
Object[actions]
0
actions
remove
remove()
attributes
[]
baseURI
"http://localhost:9000/testget#"
childElementCount
2
childNodes
NodeList[ActionOne, ActionTwo]
0
ActionOne
1
ActionTwo
length
2
item
item()
iterator
iterator()
__proto__
NodeListPrototype { item=item(), iterator=iterator()}
因此,在节点列表下,我看到了正确的操作。
我遇到的问题是我不知道如何从那里获取这些操作并列出,甚至只是将它们作为单独的变量提供。
我尝试记录每个孩子:
function getActionsAllowed() {
var children = actionsAllowed.childNodes;
for (var i = 0; i < children.length; i++) {
console.log(children);
}
}
问题是,".childNodes"一直以"未定义"的形式返回。
有没有另一种更好的方法可以做到这一点?或者这是正确的,但我犯了一个错误?
谢谢。
亲切问候
加里·谢吉尔
编辑:
只有一个结果的工作代码:
var currentState = $(packet).find('currentState').text();
var actionsBanned = $(packet).find('actionsBanned').text();
编辑2:
将代码更新为:
$(packet).find('actionsAllowed').each(function () {
var children = this.childNodes;
for (var i = 0; i < children.length; i++) {
var action = children[i].nodeName
console.log(action);
}
});
这行得通=)它逐个记录每个操作,因此它正在工作。只需选择如何将 console.log() 更改为更有用的内容(需要单独定义每个......
如果我遇到问题,将创建一个新线程并从此处链接它。
(我的相关线程:返回数组和子节点)
你总是可以使用 toArray
或 get
从 jQuery 对象中提取 DOM 节点。
var actionsAllowed = $(packet).find('actionsAllowed').get();
但这通常不是必需的,因为 jQuery 对象本身实现了广泛的 API 来操作节点。
例如,在节点上循环
$(packet).find('actionsAllowed').each(function () {
//looping over childnodes
$(this).children().each(function () {
console.log($(this).text());
});
});
如果你只想直接对 actionsAllowed 节点的子节点,你也可以做:
$(packet).find('actionsAllowed > *').each(function () {
console.log($(this).text());
});
相关文章:
- 通过从节点父级获取所有子级对节点进行排序(获取子级数组)
- 如何在javascript DOM api中获取具有给定条件的子节点
- 难以获取使用属性选择的节点的子节点
- 如何在D3.js基于力的标签布局图中获取公共子节点
- 获取下一个不工作Javascript DOM的同级父节点的子节点
- jstree jquery插件-获取父节点的所有子节点和子节点
- 如何在所有父节点上获取文件夹图标,在所有子节点上获取文件夹加图标(左侧的图标)
- 从对象变量中获取子节点
- 通过单击父名称 jsTree 获取子节点
- 获取子节点的最佳方法
- 从元素获取子节点
- 正在获取子节点的子节点
- firebase获取子节点的列表
- 如何获取子节点的父节点
- 如何在没有选择器的情况下从父节点获取子节点
- 在JavaScript Firebase中获取子节点的键
- 获取子节点的时候存在缺陷# 39;javascript中的子元素
- 获取子节点的标记名和id
- 如何获取子节点信息
- 如何使用getElementsById获取子节点的值