Кастомный метод для элемента выборки.
Выбираю элемент $('#someid') или несколько элементов по классу $('.someclass') Мне нужно для элементов в этой выборке реализовать метод, например $('.someclass').ColorIt() , которым потом будет раскрашиватся текст инпута во все цвета радуги (задача взята от балды)
Не хочу делать этот метод глобальный, потому что на любом элементе он может и не сработать, нужно чтобы жтот метод работал только на элементах из выборки $('.someclass') как это сделать ? |
Цитата:
|
|
Яростный Меч,
Это обычный плагин для JQuery. Дело в том, что для некоторых елементов метод ColorIt не имеет смысла, например, если выберем скрытый input, то раскрашивать нам его не смысла $('input[type=hidden]').ColorIt(); не сработает. Я бы хотел не объявлять сначала метод ColorIt а потом привязывать его к элементу, а сразу на элементе сделать реализацию метода. |
Что то вроде
$('div').fn.ColorIt = function() { this.filter(".a").each(function() { $(this).css("color", "red"); }); }; |
Цитата:
var divs = $('div'); divs.ColorIt = function() { this.filter(".a").each(function() { $(this).css("color", "red"); }); }; divs.ColorIt(); только учти, что для другой выборки $('div') этого метода уже не будет. |
Спасибо, это то что нужно
|
а почему не
var divs = $('div .a'); divs.ColorIt = function() { $(this).css("color", "red"); }; divs.ColorIt(); |
Часовой пояс GMT +3, время: 18:41. |