带有$(this).val()的Jquery选择器;

fli*_*urg 0 jquery jquery-selectors

我想摆脱这条线:

var zzz = $(this).val();
Run Code Online (Sandbox Code Playgroud)

var zzz = $(this).val();
$('li.' + zzz).show();
Run Code Online (Sandbox Code Playgroud)

有办法做到这一点?

完整的代码是:

    $(document).ready(function(){

    // Add onclick handler to checkbox w/id checkme
   $("#fcheck input").click(function(){

    // If checked
    if ($("#fcheck input").is(":checked"))
    {
        //show the hidden div
        var zzz = $(this).val();
        $('li.' + zzz).show();
    }
    else
    {
        //otherwise, hide it
        var yyy = $(this).val();
        $('li.' + yyy).hide();
    }
  });

});
Run Code Online (Sandbox Code Playgroud)

原因是我有多个输入所以我不想永远设置var(也许我应该在每次调用后重置,但我不知道如何做到这一点).

非常感谢.

hun*_*ter 5

原因是我有多个输入所以我不想永远设置var(也许我应该在每次调用后重置,但我不知道如何做到这一点).

从技术上讲,一旦离开此函数的范围,此变量就不会永久设置.您可以toggle()根据is(":checked")结果将代码简化为以下内容,但您所拥有的应该可以正常工作.

$("#fcheck input").click(function(){
    var $this = $(this);
    $('li.' + $this.val()).toggle($this.is(":checked"));
});
Run Code Online (Sandbox Code Playgroud)