使用 eq 与不使用 eq 有啥区别? [关闭]

Posted

技术标签:

【中文标题】使用 eq 与不使用 eq 有啥区别? [关闭]【英文标题】: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()); 【参考方案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()

以上是关于使用 eq 与不使用 eq 有啥区别? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在文件和终端中运行退出命令有啥区别

默认情况下 __eq__() 方法里面有啥

EasyMock 中“相同”和“eq”之间的区别

bash shell数值比较(-eq)与字符比较(==)的区别

jQuery中get与eq的区别

JQ中get()与eq()的区别