使用三元运算符设置变量

时间:2012-07-20 20:22:54

标签: javascript xml

我正在尝试使用三元运算符来检查XML元素的值是否为null。如果是,那么我希望变量是一回事。如果没有,那么我希望它返回元素的值。这就是我到目前为止所拥有的。

var rating = data.getElementsByTagName("overall_average")[0].childeNodes[0].length > 0 ? data.getElementsByTagName("overall_average")[0].childeNodes[0].nodeValue : "It is empty";

3 个答案:

答案 0 :(得分:13)

下面:

var node = data.getElementsByTagName( 'overall_average' )[0].childNodes[0];
var rating = node ? node.nodeValue : 'It is empty';

请注意,如果data中没有单个“overall_average”元素,此代码会抛出(错误),因此您可能需要在必要时防范该情况......

答案 1 :(得分:5)

最短路:

var rating = (data.getElementsByTagName('overall_average')[0].childNodes[0] || {}).nodeValue || 'It is empty';

答案 2 :(得分:2)

你的三元手术对我来说很好看。我建议的一件事(为了便于阅读和简洁)是将overall_average对象定义为变量并在之后引用它。

var overall_average = data.getElementsByTagName("overall_average")[0].childeNodes[0];
var rating = overall_average.length > 0 ? overall_average.nodeValue : "It is empty";
祝你好运!