jquery$变量检查属性是否等于

jquery$变量检查属性是否等于,jquery,Jquery,这似乎真的是一个微不足道的问题,但我无法终身解决这个问题 我有一个jQuery变量 var $selectArea = $("ul#1 li input[type='checkbox'], ul#2 li input[type='checkbox'], ul#3 li input[type='checkbox']"); 我想运行这个 $selectArea.closest('li').addClass('box-checked'); 但是只有当$selectArea属性已选中是“已选中”-非

这似乎真的是一个微不足道的问题,但我无法终身解决这个问题

我有一个jQuery变量

var $selectArea = $("ul#1 li input[type='checkbox'],
ul#2 li input[type='checkbox'], ul#3 li input[type='checkbox']");
我想运行这个

$selectArea.closest('li').addClass('box-checked');
但是只有当
$selectArea
属性
已选中
“已选中”
-非常简单,对吗


所以我试过这个

if ( $selectArea.attr("checked") == "checked" ) {

    $selectArea.closest('li').addClass('box-checked');

}

而且

$selectArea.filter('[checked="checked"]').closest('li').addClass('box-checked');

而这个。。。(但我想我找错树了)



想法会很棒的,谢谢


这是因为您在复选框的
change
事件中执行此操作。继续,勾选其中一个复选框-它将添加该类

我将使您希望出现在复选框上的代码成为一个单独的函数,这样您就可以轻松地调用它
onload
onchange
,并获得相同的结果

这里有一个最新的说明你我的意思

// reusable function
function check($elem)
{
    $elem.closest('li').toggleClass('box-checked', this.checked)
}

$selectArea.on('change', function() {
    check($(this));
});

$(function(){
    // onload get all checked inputs via the :checked selector 
    check($('input:checked'));
});

这是因为您在复选框的
change
事件中执行此操作。继续,勾选其中一个复选框-它将添加该类

我将使您希望出现在复选框上的代码成为一个单独的函数,这样您就可以轻松地调用它
onload
onchange
,并获得相同的结果

这里有一个最新的说明你我的意思

// reusable function
function check($elem)
{
    $elem.closest('li').toggleClass('box-checked', this.checked)
}

$selectArea.on('change', function() {
    check($(this));
});

$(function(){
    // onload get all checked inputs via the :checked selector 
    check($('input:checked'));
});

您是否尝试过$selectArea.is(':checked')/

您是否尝试过$selectArea.is(':checked')/

尝试以下方法:

$selectArea.each( function(i,e) {
    if ( $(e).is(':checked') ) {    
        $(e).closest('li').addClass('box-checked');
    }
});
正如您在这里看到的:

尝试以下方法:

$selectArea.each( function(i,e) {
    if ( $(e).is(':checked') ) {    
        $(e).closest('li').addClass('box-checked');
    }
});

正如您在这里看到的:

一些提示:ID可能不是以数字开头的,您可以简化为
$(“ul#A,ul#b”)。查找(“li input[type='checkbox']”)
。感谢您不知道这一点。这只是我自己的事,但很高兴知道。一些提示:ID可能不是以数字开头的,您可以简化为
$(“ul\A,ul\b”)。查找(“li输入[type='checkbox']”)
。谢谢,我不知道这一点。这只是我自己的事,但很高兴知道。@Joshc
.is
返回一个布尔值,所以如果($selectArea.is('checked')//这里的操作@Joshc
。is
返回一个布尔值,那么如果($selectArea.is('checked'),它将是
如果($selectArea.is('checked'))//这里的操作
谢谢@Snuffleupagus这是一块宝石。很好地解决了我的问题。再次感谢!谢谢@Snuffleupagus这是一块宝石。很好地解决了我的问题。再次感谢!