10

三項演算子を使用して、XML 要素の値が null かどうかを確認しようとしています。もしそうなら、私は変数を一つのものにしたいと思っています。そうでない場合は、要素の値を返したいと思います。これは私がこれまでに持っているものです。

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

3 に答える 3

16

ここ:

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

に「overall_average」要素が1つもない場合、このコードは(エラー)をスローすることに注意してくださいdata。したがって、必要に応じてその場合を防ぐことができます...

于 2012-07-20T20:25:23.090 に答える
6

最短の方法:

var rating = (data.getElementsByTagName('overall_average')[0].childNodes[0] || {}).nodeValue || 'It is empty';
于 2012-07-20T20:29:51.933 に答える
2

あなたの三項演算は私にはうまく見えます。(読みやすさと簡潔さのために)私が提案する1つのことは、overall_averageオブジェクトを変数として定義し、後でそれを参照することです。

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

幸運を!

于 2012-07-20T20:25:37.990 に答える