簡體   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