как совместить два селектора? - PullRequest
2 голосов
/ 02 июня 2011

в моем примере http://jsfiddle.net/radek/HnXC4/2/ Я определил обработчик jQuery для клика

  • на кнопка
  • которые имеют класс run

через $(":button, .run").click(function(){

почему же нажата кнопка this button should NOT work? У него нет класса "run".

Ответы [ 3 ]

9 голосов
/ 02 июня 2011

Попробуйте:

$(":button.run").click(function(){

$(":button, .run") будет соответствовать любым элементам, которые являются кнопками или имеют класс CSS run.

4 голосов
/ 02 июня 2011

То, что вы хотите:

$(":button.run").click(function(){});

Это означает, что "все кнопки, которые ТАКЖЕ имеют класс 'run'". Когда вы включаете запятую в селекторах, это означает «все элементы, которые являются кнопками, , а также все элементы, которые имеют класс« run »», как было здесь:

$(":button, .run").click(function(){});

Для полноты, если в селекторе есть пробел без запятой, например:

$(":button .run").click(function(){});

Это означает, что все элементы с классом 'run' являются потомками кнопок. Не уверен, что кнопки могут иметь потомков, но вы поняли.

4 голосов
/ 02 июня 2011

Вам не нужна запятая между:

$(":button.run").click(function(){};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...