使用 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")
选择 <p>1</p>
元素。
它的父元素是第一个<div>
元素。
该元素的兄弟元素是 <div>2</div>
和 <script>
块。
.eq(0)
表示选择这些兄弟中的第一个(因为索引是从零开始的),即<div>2</div>
。
.text()
返回该DIV的文本内容,即2
。
【讨论】:
我做console.log($("p").parent().siblings().html());
也给了我 2,为什么我们需要 eq(0)?
在这种情况下不需要它,因为访问器函数默认为第一个元素。但是修改函数对所有匹配的元素进行操作,所以如果你想更具体,你需要使用.eq()
。以上是关于使用 eq 与不使用 eq 有啥区别? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章