繁体   English   中英

jQuery.get() - 实用吗?

[英]jQuery.get() - Practical uses?

我试图理解为什么你会使用jQuery.get()jQuery.get(index) 文档说它是将jQuery选择转换为原始DOM对象,而不是将选择作为jQuery对象及其可用的方法。

这是一个简单的例子:

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

是相同的:

$("div").html();

显然这是一个糟糕的例子,但我很难想象你何时会使用.get() 你能帮我理解我在代码中何时使用这种方法?

当您想要在元素上调用本机JS方法时,通常会发生这种情况。

//submitting a form...
$('#mySearchForm').get().submit();

有时您在noConflict模式下使用jQuery并且您想要执行以下操作:

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

然后在原型中做一些事情:

$(element).whatever();

这样做(psuedocode)时可能会派上用场:

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

有时您可能需要将实际的DOM对象传递给其他函数,这些函数可能无法处理jQuery对象。

这对于访问未通过jQuery公开的任何JavaScript方法很有用。 例如,在jQuery支持offset()之前,我通常会使用get()如下所示:

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

再举一个例子,我最近使用它来确定元素的scrollHeight。

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

这也可以写成:

var scrollHeight = $(element)[0].scrollHeight;

Cody Lindley(jQuery团队成员)有一个很好的例子 ,说明为什么要使用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>

我用它来获取单个元素的id

 $(selector).get(0).id

get()的另一个可能用途是在jQuery中使用XML树。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM