选择器中的jQuery'和''或'条件语法?

时间:2015-10-26 11:58:53

标签: jquery

我知道在php中||是'或'运算符但是如何在jQquery中使用它?

if ($("#shift1" || "#shift2" || "#shift3").is(":checked")){
    $('#mon').css({
        'background-color': '#88CC44',
        'color':'white'
    });
} else {
    $('#mon').css({
        'background-color': 'grey',
        'color':'white'
    });
}

如果选中#shift1#shift2#shift3中的任何一个,我希望此功能正常工作,但到目前为止,它仅适用于列表中首先选择的ID。如何在jQuery中完成,还有一个'和'而不是'或'是&&呢?

2 个答案:

答案 0 :(得分:3)

||是'或' JavaScript中的运算符 - 但是在选择器中它不能使用该语法。 jQuery选择器使用CSS语法,因此要选择多个元素(也称为'或'操作),请用逗号分隔它们:

$("#shift1, #shift2, #shift3")

另请注意,您可以使用三元组来简化和干燥代码:

$('#mon').css({
    'background-color': $("#shift1, #shift2, #shift3").is(":checked") ? '#88CC44' : 'grey',
    'color':'white'
});

答案 1 :(得分:1)

还可以制作这样的内容,允许您添加其他复选框而无需更改您的JavaScript。

$('#mon').css({
    'background-color': $('[id^="shift"]:checked').length > 0 ? '#88CC44' : 'grey',
    'color':'white'
});

$('[id^="shift"]:checked')查找已检查的元素宽度,以字符串shift

开头的id