如何避免重复创建Jquery包装器?

时间:2012-12-28 18:44:48

标签: javascript jquery

有没有办法避免在下面的语句中第二次使用$("#check1")

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

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

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

4 个答案:

答案 0 :(得分: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.

reference

答案 1 :(得分:3)

var el = $("#check1");

el.prop("checked",!el.prop("checked"));

答案 2 :(得分:1)

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

答案 3 :(得分:-2)

您可以使用 this ,但这样:

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