下面的代码尝试确定子H1
或H2
元素是否包含可以分配给变量的文本,如果不是默认为父元素文本:
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 元素从中获取文本。有人可以帮忙吗?
答案 0 :(得分:0)
我没有对此进行测试,但我相信它会对更短的代码做同样的事情。
markerCon[markerNum] = $(this).children('h1').text() || $(this).children('h2').text();
markerCon[markerNum] = markerCon[markerNum] || $(this).text();
这假设如果h1
或h2
存在,则其中的文本不是空字符串。