使用三元运算符设置变量

Gre*_*ley 7 javascript xml

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

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

Šim*_*das 13

这里:

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

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


jo_*_*ura 5

最短的方式:

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