【问题标题】:What is the difference between using eq or not using it? [closed]使用 eq 与不使用 eq 有什么区别? [关闭]
【发布时间】:2020-12-11 06:02:36
【问题描述】:

如果我是对的,请纠正我:

*1- 我们使用$("p").parent().siblings().eq(0).text 选择 2

*2- 我们也可以通过$("p").parent().siblings().text() 来选择 2

现在我的问题是 *1 和 *2 有何不同,eq(0) 如何帮助我们更具体地解决这个问题?

<div><p>1</p></div>
<div>2</div>
<script>
alert($("p").parent().siblings().eq(0).text());
</script>

【问题讨论】:

  • 为什么你认为它不会是 2?
  • 请在此处粘贴代码,而不是带有代码的图像
  • 关键是研究.siblings()做了什么。
  • 输出是什么?好吧,当您运行它时,它会告诉您.....
  • console.log($("p"))); console.log($("p").parent()); console.log($("p").parent().siblings()); console.log($("p").parent().siblings().eq(0)); console.log($("p").parent().siblings().eq(0).text());

标签: javascript jquery dom indexing parent-child


【解决方案1】:

一步一步来:

$("p") 选择 &lt;p&gt;1&lt;/p&gt; 元素。

它的父元素是第一个&lt;div&gt; 元素。

该元素的兄弟元素是 &lt;div&gt;2&lt;/div&gt;&lt;script&gt; 块。

.eq(0) 表示选择这些兄弟中的第一个(因为索引是从零开始的),即&lt;div&gt;2&lt;/div&gt;

.text()返回该DIV的文本内容,即2

【讨论】:

  • 我做console.log($("p").parent().siblings().html()); 也给了我 2,为什么我们需要 eq(0)?
  • 在这种情况下不需要它,因为访问器函数默认为第一个元素。但是修改函数对所有匹配的元素进行操作,所以如果你想更具体,你需要使用.eq()
猜你喜欢
  • 2010-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-07
  • 2015-09-02
  • 2010-10-07
  • 2011-01-06
相关资源
最近更新 更多