如何将两个if语句组合使用或运算符

时间:2013-11-23 19:54:19

标签: javascript jquery logic

下面的代码尝试确定子H1H2元素是否包含可以分配给变量的文本,如果不是默认为父元素文本:

if($(this).children('h1').length){
    markerCon[markerNum] = $(this).children('h1').text();
} else if($(this).children('h2').length){
    markerCon[markerNum] = $(this).children('h2').text();
} else {
    markerCon[markerNum] = $(this).text();
}

这样可行,但我正在尝试改进我的代码,根据我的理解,我可以使用 OR 运算符来确定相同的内容,如下所示:

if($(this).children('h1').length || $(this).children('h2').length){
    // how do I write this part?
} else {
    markerCon[markerNum] = $(this).text();
}

我不理解的部分是如何编写语句的then部分,告诉变量哪个 H 元素从中获取文本。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我没有对此进行测试,但我相信它会对更短的代码做同样的事情。

markerCon[markerNum] = $(this).children('h1').text() || $(this).children('h2').text();
markerCon[markerNum] = markerCon[markerNum] || $(this).text();

这假设如果h1h2存在,则其中的文本不是空字符串。