检查数组项是否为js中的字符串或xml节点

时间:2014-05-29 14:46:04

标签: javascript arrays xml internet-explorer-8

我有一个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。

有更好的想法吗?

1 个答案:

答案 0 :(得分:0)

不完全确定,因为我没有在你的帖子中看到字符串,但也许正则表达式可能有助于:

(/([<].*[>])/gi).test('demo')              //returns false
(/([<].*[>])/gi).test('<node> </node>')    //returns true