使用方法只需要一个元素

时间:2015-06-21 22:15:06

标签: jquery

我有这个测试页面:

<script src="https://code.jquery.com/jquery-1.10.2.js"></script>

<h1>test1</h1>
<h1>test2</h1>
<h1>test3</h1>

我可以使用$('h1').hide()隐藏所有元素,但出于什么原因我不仅可以使用$('h1')[1].hide()隐藏第二个元素?我怎么能这样做?

使用$('h1')[1].hide()我收到以下错误消息:

Uncaught TypeError: $(...)[1].hide is not a function
    at <anonymous>:2:12
    at Object.InjectedScript._evaluateOn (<anonymous>:895:140)
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:828:34)
    at Object.InjectedScript.evaluate (<anonymous>:694:21)

2 个答案:

答案 0 :(得分:2)

你应该为此使用另一个jQuery选择器 - 它的:nth-​​child() - selector(参见docs:https://api.jquery.com/nth-child-selector/)。在您的示例中,可以使用如下所示:

jQuery('h1:nth-child(2)').hide();

答案 1 :(得分:1)

直接使用jQuery中的.eq()函数而不是[1]。

https://api.jquery.com/eq/

所以,你要做这样的事情$('h1').eq(1).hide();

或者您可以使用:eq()子选择器

https://api.jquery.com/eq-selector/

所以,你要做这样的事情$('h1:eq(1)').hide();