此代码可以根据需要运行:
$('input[class="plus"], input[class="minus"]').mousedown(function () {
//..doing something
});
我想要的是:
$('input[class="plus minus"]').mousedown(function () {
//..doing something
});
或者喜欢:
$('input[class="plus"][class="minus"]').mousedown(function () {
//..doing something
});
选择器应选择具有plus
类或minus
的任何输入。
必须有其他语法,但我不知道。
答案 0 :(得分:1)
正确的语法是使用逗号分隔选择器,就像你指出的那样,但选择器应该这样写:
$('input.plus, input.minus').mousedown(function () {
//..doing something
});
作为最终替代方案,您可以使用.add
:
$('input.plus')
.add($('input.minus'))
// possibly add more elements here
.mouseover(...);
答案 1 :(得分:1)
$('input.plus, input.minus').mousedown(function () {
//..doing something
});
答案 2 :(得分:1)
我建议:
$('input.plus, input.minus').mousedown(function () {
//..doing something
});
...所以输入上的其他类不会让你跳过它们。如果您使用属性等于选择器(您的input[class="plus"]
),则只有在input
上的 类为"plus"
时才会匹配。因此它匹配<input class="plus">
但不匹配<input class="plus foo">
。通常,您希望在元素上具有其他类的灵活性。
或者,您可以执行此操作:
$('input').filter('.plus, .minus').mousedown(...);
...但效率可能会低一些:首先它会让jQuery查找所有 input
元素,然后分别将结果过滤到那些带有那些类。所以我不推荐它。
答案 3 :(得分:1)
我会去绑定
$onInputMouseDown = function() {
....
}
$(".plus").bind("mousedown",$onInputMouseDown);
$(".minus").bind("mousedown",$onInputMouseDown);