Есть ли у jQuery объект, который позволял бы обращаться к элементу не таким образом?

Кто нибудь знает, есть ли у фреймворка объект, который позволял бы обращаться к элементу не таким образом:
.find('.' + options.wrapClass)

Меня честно тошнит от этой конструкции:
'.' + options.wrapClass

Что меня смущает? Это конкатенация строки, хотелось бы обратиться более изящно, например:
.findOnClass(options.wrapClass)

Собственно хочется просто услышать ответ, да или нет, если есть то какой...

Я понимаю, что можно извратится грубо говоря так:
(function($)
{
	$.fn.extend
	({
		findOnClass : function(str)
		{
			//@TODO
		}
	})
})(jQuery);


Но тем не менее...

P.S. В конце концов, мы же когда устанавливаем класс элементу, указываем прямо .addClass(str), а не .addClass('.' + str)...
  • Вопрос задан
  • 2930 просмотров
Решения вопроса 1
Pozadi
@Pozadi
Нет, функции типа .findByClass() в JQuery нет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
aen
@aen
Keep calm and 'use strict';
Метод .find() принимает селектор, а не класс, потому как то глупо сравнивать его с .addClass(), который как раз таки принимает класс аргументом.

Не вижу тут никакой проблемы, если вам очень хочется написать свой .findByClass(), то оберните им столь вами не любимый .find('.' + options.wrapClass).
Ответ написан
Комментировать
HDApache
@HDApache
PHP программист
jQuery — javaScript framework немного ошибочно, потому как jQuery is a fast, small, and feature-rich JavaScript library. via jquery.com
Ответ написан
Комментировать
@dvorkot
как насчет $(document.getElementByClass('someClass')) ? длинновато, но моя IDE услужливо выполняет автоподстановку)
Ответ написан
animhotep
@animhotep
та нету такого, наоборот find это более расширенный вариант. вы бы хотели вместо него 3 разных метода?
findOnClass, findOnId и findOnTag
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы