4

有什么办法可以避免$("#check1")在下面的语句中使用第二次?

$("#check1").prop("checked",!$("#check1").prop("checked"));

通过任何技巧我可以做类似下面的事情吗?

$("#check1").prop("checked",!this.prop("checked"));
4

4 回答 4

5

如果您将函数作为回调传递,您将获得当前值。

$("#check1").prop("checked", function(i, value) {
    return !value;
});

.prop( propertyName, function(index, oldPropertyValue) )

  • propertyNameThe name of the property to set.
  • function(index, oldPropertyValue) A function returning the value to set. Receives the index position of the element in the set and the old property value as arguments. Within the function, the keyword this refers to the current element.

参考

于 2012-12-28T18:48:54.380 回答
3
var el = $("#check1");

el.prop("checked",!el.prop("checked"));
于 2012-12-28T18:46:50.967 回答
1
var $check = $("#check1");
$check.prop( "checked", !$check.prop("checked") );
于 2012-12-28T18:46:21.773 回答
-2

您可以使用,但通过这种方式:

$("#check1").prop("checked",!$(this).prop("checked"));
于 2012-12-28T18:48:20.737 回答