我有以下代码,可以正常工作。
<div id="testdiv"></div>
<table>
<tr>
<td class="test" title="two">2</td>
<td class="test" title="one">1</td>
<td class="test" title="three">3</td>
</tr>
</table>
<script>
if(jQuery("td[title='three']").length == 0) {
jQuery('#testdiv').append('<p>no td</p>')
}
else
{
jQuery('#testdiv').append('<p>yes td</p>')
}
</script>
但是我想说的是标题一或三是否存在。所以我尝试将脚本的第一行编辑为如下所示。
if(jQuery("td[title='three']").length == 0 || jQuery("td[title='one']").length == 0) {
但出于某种原因,似乎必须同时存在三个和一个才能使我的陈述成立?
但是如果我替换||与 && 它的工作原理是我想要的吗?为什么 && 的工作方式像 ||在这里还是我在这里遗漏了一些东西?
最佳答案
||
是 OR,&&
是 AND,因此如果您需要满足两个条件,则必须使用 &&
,但你可以让它更短一些。为了方便起见,我使用 $
,但您可以替换为 jQuery
:
var exists = $('td[title=one],td[title=three]').length;
$('#testdiv').append('<p>'+ (exists ? 'yes' : 'no') +' td</p>');
关于javascript - jquery 目标多个标题属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14574158/