2

我是 Jquery 的菜鸟,如果这很荒谬,请原谅我,但是 get() 和 [] 会破坏方法链吗?我正在尝试从返回的 Jquery Object 中检索单个元素:

<HTML>

<HEAD><TITLE>A test page</TITLE></HEAD>



<BODY>

<p>This is a paragraph</p>
<p>This is a second paragraph</p>

</BODY>


</HTML>


<script type="text/javascript"    src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">

var x = $("p").get(1).text();       //This doesn't work       

var y = $($("p").get(1)).text();    //re-wrapping the result does however. 


</script>

如果是这种情况,我该如何更简洁地检索指定值,因为目前我上面使用的方法至少可以说有点笨拙。

4

2 回答 2

5

是的,它会中断,get将 jQuery 对象转换为 DOM Element 对象,然后您不能在所选元素上使用 jQuery 方法,您可以使用eq()方法代替:

var x = $("p").eq(1).text();

:eq()选择器:

var x = $("p:eq(1)").text();

请注意,getandeq方法是从零开始的,eq(1)选择第二个元素。

于 2012-09-21T22:24:32.420 回答
2

怎么样:

var x = $("p:nth-child(1)").text();

或者:

var x = $("p:first").text();

甚至:

var x = $("p").eq(0).text();

我不知道哪一个对你来说最“笨拙”:)

于 2012-09-21T22:26:11.853 回答