Javascript jQuery对象包含什么?

Javascript jQuery对象包含什么?,javascript,jquery,Javascript,Jquery,比方说,我有以下代码: <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>

比方说,我有以下代码:

<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>
  • 列表项目1- 一个强有力的标签
  • 列表项目2- 两个强标签
  • 清单项目3
  • 清单项目4
  • 清单项目5
  • 清单项目6
var x=$(“li”); for(x中的变量k){ 警报(k+x[k]); }
问题是:警报输出的东西太多了!为什么? 为什么它不只输出li元素??锂元素存储在哪里??
如何仅输出jQuery方法通常应用的li元素???

它将提醒整个原型链。使用jQuery(javascript)中的每个函数迭代li元素。此外,不建议将for in作为迭代对象的正确选择。

jQuery“object”不仅包含DOMnode引用。如果这样循环(
for..in
),将获得直接位于对象上并通过原型链继承的所有属性。您只需使用jQuerys本身的
。each()
方法来循环其DOMnode引用:

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

使用
for…in
构造也将迭代所有属性,包括通过原型链继承的所有属性,这就是为什么您会得到对象的所有属性以及匹配的
li
元素集

如果对循环使用一个普通的
(或者,正如其他人所指出的,jQuery
每个
方法),它将工作:

var x = $("li");
for (var k = 0; k < x.length; k++){
    alert(k + x[k]);
}
var x=$(“li”);
对于(var k=0;k
jQuery将对象包装在与选择器匹配的DOM元素周围,有关详细信息,请参阅


这些警报的内容是该对象的函数和属性。

您可以使用jquery查询每个函数

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

它还输出什么?使用jQuery的每一个,您所做的是显示集合的成员/方法。+1
for。。。in
是迭代数组或类似数组的对象的错误方法。