如何结合两个if语句使用以下操作
问题描述:
我的代码试图判断是否有孩子H1
或H2
元素包含可以被分配给一个变量的文本,如果没有默认为父元素文本:如何结合两个if语句使用以下操作
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();
}
票面t我不明白的是如何编写声明的当时部分,告诉变量哪个元素能够从文本中抓取文本。有人可以帮忙吗?
答
我没有测试这个,但我相信它会做同样的更短的代码。
markerCon[markerNum] = $(this).children('h1').text() || $(this).children('h2').text();
markerCon[markerNum] = markerCon[markerNum] || $(this).text();
这并假设,如果h1
或h2
存在,其中的文本不是空字符串。
我认为你只会让你的代码复杂化。 – MightyPork
我是吗?我认为使用OR运算符会改善我的代码,但如果共识是离开它,那么我会! (仍在学习) –
你的代码很好,因为你只是给markerCon分配一些东西,这取决于你只能使用一个条件,所以你不能使用OR –