Как узнать, обертывается ли Элемент jQuery?

Я думаю, что Вы просто привыкли к записи определенного вида приложения и решения определенного вида проблемы. Вы, кажется, нападаете на это от "базы данных сначала" перспектива. Существует много разработчиков там, где данные сохраняются к DB, но производительность не является высшим приоритетом. В большом количестве случаев, помещая абстракцию по слою персистентности упрощает код значительно, и стоимость производительности является надуманным вопросом.

Независимо от того, что Вы делаете, это не ООП. Это не неправильно, это - просто не ООП, и не имеет смысла применять Ваши решения каждой othe проблемы там.

14
задан rudimenter 13 August 2009 в 09:46
поделиться

4 ответа

Вот так:

var isJQuery = obj instanceof jQuery;  // or obj instanceof $;
25
ответ дан 1 December 2019 в 10:19
поделиться
if (obj.jquery) {
    /* Do something */
}

Это самый простой способ. Другой вариант - проверка конструктора объекта, но учтите, что он не будет работать в глобальном контексте (например, между родительской страницей и фреймом).

2
ответ дан 1 December 2019 в 10:19
поделиться

Не пользователь jQuery, это не тестировалось и т. Д., Но

if (!(obj instanceof Element))
{
  // ...
}

может работать, если jQuery не делает странных вещей в его упаковке. Конечно, это требует, чтобы вы знали, что obj никогда не может быть элементом, отличным от jQuery или DOM, но, надеюсь, это несложно обеспечить.

-2
ответ дан 1 December 2019 в 10:19
поделиться

Вы можете проверить это следующим образом:

if(obj instanceof jQuery) {
    // ...
}

Однако было бы не совсем правильно говорить, что элемент HTML «завернут» в объект jQuery, скорее объект jQuery представляет собой набор из нуля или больше элементов HTML. Итак, если вы действительно хотите быть осторожными, вы можете сначала проверить, содержит ли он какие-либо элементы, следующим образом:

if(obj instanceof jQuery && obj.length > 0) {
    var element = obj[0];
    // do something with element
}
1
ответ дан 1 December 2019 в 10:19
поделиться
Другие вопросы по тегам:

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