2010-06-06 66 views
7

$(".foo")有几个元素可供选择。 $(".foo").text()返回连接在一起的每个元素的文本。我只想要一个元素的文本。做这个的最好方式是什么?jQuery:获取一组选定元素

$(".foo")[0].text()失败。

回答

12

你想用.eq(0),像这样:

$(".foo").eq(0).text() 

当你做$(".foo")[0]$(".foo").get(0)你得到DOM元素,而不是jQuery对象.eq()将得到jQuery对象,其中有.text()方法。

2

通常使用#选择器语法选择一个元素通过id属性值。你有超过一个元素具有相同的id属性值吗?如果是这样,那么你需要纠正你的HTML。 id属性值应该是唯一内的一个文件。

+0

给出的例子是'#foo',我认为这是一个问题的监督,而不是实际的问题...... – 2010-06-06 00:40:06

+0

@Nick这是正确的。 – 2010-06-06 01:58:54

1

jQuery数组中的项总是返回dom元素(而不是jQuery包裹的元素)。你可以这样做:

 
$($("#foo")[0]).text() 
+1

这是一个非常昂贵的方式去做:) – 2010-06-06 02:01:00