簡體   English   中英

jQuery object 包含什么?

[英]What does jQuery object contain?

比方說,我有這個代碼:

<ul>
  <li><strong>list</strong> item 1 -
    one strong tag</li>
  <li><strong>list</strong> item <strong>2</strong> -
    two <span>strong tags</span></li>
  <li>list item 3</li>
  <li>list item 4</li>
  <li>list item 5</li>
  <li>list item 6</li>
</ul>

<script>
    var x = $("li");
    for (var k in x){
        alert(k + x[k]);
    }
</script>

問題是:alert 輸出的東西太多了? 為什么? 為什么 output 不是只有 li 元素? li 元素存儲在哪里? 我如何僅 output 僅適用於 jQuery 方法的元素?

您可以使用 jquery 每個 function。

$("li").each(function(index, el){
      ..
});

http://api.jquery.com/jQuery.each/

它將提醒整個原型鏈。 在 jQuery(javascript) 中使用每個 function 來迭代 li 元素。 此外,不建議將 for in 作為迭代對象的正確選擇。

使用for...in構造還將迭代所有屬性,包括通過原型鏈繼承的所有屬性,這就是為什么您會收到 object 的所有屬性以及匹配的li元素集的原因。

如果您使用普通for循環(或者,正如其他人所指出的,jQuery each方法),它將起作用:

var x = $("li");
for (var k = 0; k < x.length; k++){
    alert(k + x[k]);
}

jQuery“對象”不僅包含DOMnode 引用 如果你像那樣循環它( for..in ),你將獲得直接在 object 上並通過原型鏈繼承的所有屬性。 您應該簡單地使用 jQuerys 非常自己的.each()方法來循環它的 DOMnode 引用:

x.each(function( index, node ) {
    console.log('Hi, I am at index ', index, ' and my reference is: ', node);
});

jQuery wraps an object around the DOM elements that match the selector, see http://api.jquery.com/jQuery/ for more details.

這些警報的內容是該 object 的功能和屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM