我想了解你为什么要使用jQuery.get()
and jQuery.get(index)
。文档说它是将jQuery选择转换为原始DOM对象,而不是将选择作为jQuery对象及其可用的方法。
这是一个简单的例子:
$("div").get(0).innerHTML;
与:
相同$("div").html();
显然这是一个不好的例子,但我很难想象你何时会使用.get()
。你能帮我理解我什么时候在我的代码中使用这个方法吗?
答案 0 :(得分:4)
当您想要在元素上调用本机JS方法时,通常会发生这种情况。
//submitting a form...
$('#mySearchForm').get().submit();
答案 1 :(得分:4)
有时您在noConflict模式下使用jQuery并且您想要执行以下操作:
var element = jQuery('#jquery_selectors .are > .awesome[and=fast]').get(0);
然后在原型中做点什么:
$(element).whatever();
答案 2 :(得分:3)
在执行类似(伪代码)的事情时,这可能会派上用场:
a = $("div").get()
ajaxsend(a)
有时您可能需要将实际的DOM对象传递给其他函数,这些函数可能无法处理jQuery对象。
答案 3 :(得分:2)
这对于访问未通过jQuery公开的任何JavaScript方法非常有用。例如,在jQuery支持offset()之前,我通常会使用get()
,如下所示:
var offTop = $(element).get(0).offsetTop;
另一个例子,我最近使用它来确定元素的scrollHeight。
var scrollHeight = $(element).get(0).scrollHeight;
这也可以写成:
var scrollHeight = $(element)[0].scrollHeight;
答案 4 :(得分:1)
Cody Lindley(jQuery团队成员)有great example为什么要使用get()
如果你需要缓存一组元素,因为你要删除它们,jQuery get()方法真的很方便。例如,在下面的代码中,我将页面上的所有
<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>
答案 5 :(得分:0)
get()的另一个可能用途是在jQuery中使用XML树。
答案 6 :(得分:0)
我用它来获取单个元素的id
$(selector).get(0).id