jQuery.get () - Практическое использование? - PullRequest
3 голосов
/ 19 апреля 2009

Я пытаюсь понять, почему вы используете jQuery.get() и jQuery.get(index). В документах говорится, что необходимо преобразовать выделение jQuery в необработанный объект DOM, а не работать с выделением в качестве объекта jQuery и доступных ему методов.

Итак, быстрый пример:

$("div").get(0).innerHTML;

совпадает с:

$("div").html();

Очевидно, что это плохой пример, но я изо всех сил пытаюсь понять, когда вы будете использовать .get(). Можете ли вы помочь мне понять, когда я буду использовать этот метод в своем коде?

Ответы [ 7 ]

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

Иногда вы используете jQuery в режиме noConflict и хотите сделать что-то вроде:

var element = jQuery('#jquery_selectors .are > .awesome[and=fast]').get(0);

А затем сделайте что-нибудь в прототипе:

$(element).whatever();
4 голосов
/ 19 апреля 2009

Это часто случается, когда вы хотите вызвать собственный элемент JS для элемента.

//submitting a form...
$('#mySearchForm').get().submit();
3 голосов
/ 19 апреля 2009

Это может пригодиться, когда вы делаете что-то вроде (psuedocode):

a = $("div").get()
ajaxsend(a)

В некоторых случаях вам может понадобиться передать фактический объект DOM другим функциям, которые могут не справиться с объектом jQuery.

2 голосов
/ 20 апреля 2009

Это полезно для доступа к любому методу JavaScript, который не предоставляется через jQuery. Например, прежде чем jQuery поддерживал offset (), я обычно использовал get(), например:

var offTop = $(element).get(0).offsetTop;

В другом примере я недавно использовал это для определения scrollHeight элемента.

var scrollHeight = $(element).get(0).scrollHeight;

Это также можно записать как:

var scrollHeight = $(element)[0].scrollHeight;
1 голос
/ 21 апреля 2009

У Коди Линдли (члена команды jQuery) есть отличный пример того, почему вы должны использовать get ()

Если вам когда-нибудь понадобится кэшировать набор элементов, потому что вы собираетесь их удалить, метод get () jQuery действительно удобен. Например, в приведенном ниже коде я сохраняю все свои элементы <li> на странице в массиве, удаляя их, а затем добавляю их обратно на страницу, используя этот массив. Имеет смысл?

<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script> 
</head>

<body>

<ul> 
    <li>test</li> 
    <li>test</li> 
    <li>test</li> 
    <li>test</li> 
    <li>test</li> 
    <li>test</li> 
    <li>test</li> 
    <li>test</li> 
 </ul>

<script>

var test = $('ul li').get();

$('ul').empty();

$.each(test, function(){ $('ul').append('<li>'+$(this).html() + ' new</li>'); });

</script> 
</body> 
</html>
0 голосов
/ 26 мая 2010

Я использую его, чтобы получить идентификатор для одного элемента

 $(selector).get(0).id
0 голосов
/ 19 апреля 2009

Другое возможное использование get () - это когда вы работаете с деревьями XML в jQuery.

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