所以我想要做的是创建一个主复选框,它可以选择全部,也可以取消全部选中。我发现这个jquery代码片段比我创建的代码工作得更好。
$("#checkboxSort").live( 'change', function() {
$(".apply-single").attr( 'checked', $( this ).is( ':checked' ) ? 'checked' : '' );
});我的问题是这一节到底说的是什么:
$( this ).is( ':checked' ) ? 'checked' : '' 我知道"this“是".apply-single”,它是验证它是否被“选中”,但是这一节的其余部分是什么意思……用英语?我对它的含义有自己的想法,但我更愿意听到别人知道的东西,而不是我的猜测。
感谢所有能帮上忙的人。
发布于 2011-01-11 00:41:53
这叫做三元运算符。一般格式为
[boolean expression] ? [expression A] : [expression B]如果布尔表达式的计算结果为true,则它的计算结果为表达式A;如果布尔表达式的计算结果为false,则它的计算结果为表达式B。
发布于 2011-01-11 00:45:57
我知道"this“是".apply-single”
不是的。this实际上指的是#checkboxSort元素。
?是JavaScript中的conditional operator。
您正在询问的特定代码的含义(伪代码):
if the element with ID "checkboxSort" is checked:
check all elements with class "apply-single"
else:
uncheck all elements with class "apply-single"简而言之,整个代码片段做到了这一点:
侦听id为
checkboxSort的元素上的更改。
当触发此类change事件时,将类为apply-single的所有元素的checked状态设置为#checkboxSort元素的新checked状态。
不知羞耻的自我推销:我做了一个小小的jQuery插件来很好地处理这个问题。Check it out。
发布于 2011-01-11 00:42:46
this实际上是#checkboxSort context ,而不是 .apply-single。因此,它将所有.apply-single设置为#checkboxSort的checked属性。
它是一个。类似于if语句,只需内联。
https://stackoverflow.com/questions/4649095
复制相似问题