Могу ли я сделать что-то вроде ниже, где у меня может быть несколько классов, запускающих событие?Могу ли я иметь селектор нескольких классов в jquery
$('a.red a.blue a.green').click(function(event)
{
});
Могу ли я сделать что-то вроде ниже, где у меня может быть несколько классов, запускающих событие?Могу ли я иметь селектор нескольких классов в jquery
$('a.red a.blue a.green').click(function(event)
{
});
Да, вы можете использовать запятую в качестве разделителя.
$('a.red, a.blue, a.green').click(function(event) {});
$('a.red.blue.green')
выбирает элементы, которые имеют все эти классы.
$('a.red, a.blue, a.green')
выбирает элементы, которые имеют atleast one этих классов.
Для всех этих классов это $ ("a.red.blue.green"). –
Несколько иной подход был бы префиксом классы как a.prefix_red
, a.prefix_blue
, a.prefix_green
, а затем использовать селектор подстановочные на него, как:
$("a[class^=prefix_]")
Преимущество заключается в том, что до тех пор, как вы префикс все ваши «триггер «классы, вам не нужно редактировать jQuery каждый раз, когда вы добавляете новый, а не то, что это будет серьезное изменение в любом случае, но может пригодиться, если вы решите минимизировать свой скрипт, например.
Просто примечание для OP: Классы определяются '.' not': '. ':' обозначает псевдоклассы. –
Да, спасибо, исправлено! – ian
Связанное примечание: синтаксис, который у вас есть ('a.red a.blue a.green'), имеет другое значение как селектор css и jquery. Он выбирает любой элемент 'a' с классом' green', который содержится в элементе 'a' с классом' blue', который сам содержится в элементе 'a' с классом' red'. конечно, это не имеет никакого смысла, когда все они являются «тегами», но это * - полезная концепция в целом. – grossvogel