我有一个javascript数组。数组中的某些项是xml节点,有些是字符串,如果是字符串,则它始终是相同的字符串。我需要一个跨浏览器的解决方案来确定该项是否是一个xml节点,它将适用于从IE8到现代浏览器的所有内容。最初我只是将项目与字符串进行比较,如下所示:
var isNode = true;
if (array[i] == "my string") {
isNode = false;
}
但是,如果数组项是xml节点,则在XP上的IE8中会导致错误。所以我尝试了这个:
var isNode = true;
try {
var nodeName = array[i].context.tagName;
} catch (ex) {
isNode = false;
}
这在IE8中有效,但isNode在Chrome中始终返回false。
有更好的想法吗?
答案 0 :(得分:0)
不完全确定,因为我没有在你的帖子中看到字符串,但也许正则表达式可能有助于:
(/([<].*[>])/gi).test('demo') //returns false
(/([<].*[>])/gi).test('<node> </node>') //returns true