如何使用jQuery计算出给定XML元素的类型?
例如,如果我想要第二个孩子的类型:
XML:
<xml>
<a>a element</a>
<b>b element</b>
<c>c element</c>
</xml>
JS:
var node = $(xml).eq(2);
var nodeType = getNodeType(node);
if (nodeType == 'b') {
alert('GOT IT');
}
function getNodeType($node) {
...
}
答案 0 :(得分:3)
尝试在元素上使用nodeName
(不在jQuery对象上)。
示例: http://jsfiddle.net/2cSpq/
var xml = "<xml><a>a element</a><b>b element</b><c>c element</c></xml>";
var node = $(xml).children().eq(1);
var nodeType = alert(getNodeType(node));
if (nodeType == 'b') {
alert('GOT IT');
}
function getNodeType($node) {
return $node[0].nodeName.toLowerCase(); <--- right here
}
我还使用children()
[docs]方法定位嵌套元素,这会使b
元素位于索引1
,而不是2
。
[0]
从jQuery对象中提取节点,.nodeName
获取节点的名称,.toLowerCase()
确保将其作为您正在测试的小写字母发送给您。