Свойства / методы DOM, которые недоступны в jQuery? - PullRequest
4 голосов
/ 21 апреля 2009

В продолжение моего вопроса о jQuery.get () Мне было интересно, есть ли список свойств и методов DOM, которые недоступны в jQuery, которые могут быть доступны только при работе с необработанный объект DOM (т. е. $ ("# someID"). get (). scrollHeight;)

Ответы [ 5 ]

4 голосов
/ 21 апреля 2009

Я не встречал список, но если бы он существовал, он, вероятно, был бы довольно длинным. В дополнение к специфичным для браузера (проприетарным) свойствам, существует множество других менее полезных свойств и методов, которые в настоящее время не абстрагированы jQuery. Но с другой стороны, я не вижу в этом проблемы или хотя бы правильного обсуждения, потому что jQuery - это JavaScript; если вам нужен доступ к чему-то помимо того, что предоставляет jQuery, вы можете использовать get() или получить доступ к указанному элементу в одной из ваших «коллекций jQuery», например, массиву:

jQuery(elem)[0].someDOMProperty;

Кроме того, jQuery абсолютно не поддерживает неэлементные узлы в DOM. Если по какой-либо причине вам необходим прямой доступ к узлам комментариев, текстовым узлам и т. Д., Вам необходимо использовать «сырой» DOM.

0 голосов
/ 21 апреля 2009

Нет. JQuery это просто JavaScript. Если вы можете сделать это в JavaScript, вы можете сделать это в jQuery. Некоторые свойства и методы перезаписываются в контексте объекта jQuery, и именно здесь вы захотите использовать метод get () - для «получения» (т.е. доступа) стандартного свойства / метода.

Это действительно так сложно, как есть.

0 голосов
/ 21 апреля 2009

Я не знаю скомпилированного списка операций / свойств DOM, которые НЕ доступны в jQuery (и быстрый поиск в Google ничего не дал), но если вы перейдете на http://api.jquery.com/, вы можете увидеть весь API и даже загрузить его как приложение Adobe AIR, если у вас нет Интернета, когда он вам нужен.

0 голосов
/ 21 апреля 2009

Каждый атрибут каждого элемента доступен через функцию attr(). Если вы можете сделать document.getElementById() для этого элемента и затем получить доступ к свойству, вы также можете сделать это, используя функцию attr(). Однако к некоторым свойствам проще обращаться другими способами при использовании jquery. Например, чтобы увидеть, является ли элемент скрытым или видимым, вы можете сделать:

var isVisible=$("#el").is(":visible");

вместо использования метода attr(). Точно так же вы можете найти selectedIndex выпадающих меню и текст выбранной опции, более простыми способами, чем использование метода attr(). В этом pdf описаны некоторые из этих более простых подходов.

Чтобы получить доступ к свойству CSS, вам лучше сделать:

var fontWeight=$("#el").css("fontWeight");

вместо использования get() или attr(). Вы также можете установить свойства CSS следующим образом, например:

$("#el").css("fontWeight","bold");
0 голосов
/ 21 апреля 2009

Я могу ошибаться, но я думаю, что вы можете получить доступ к любым свойствам через метод attr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...