使用jQuery,如何获取元素的文本值?

时间:2009-04-16 03:33:30

标签: javascript jquery

如何在href标签之间检索文本?

<a href="blah">GET THIS TEXT</a>

它包含在这个DOM中:

<div class="c1">
   <div class="c2"><a href="#">GET THIS TEXT</a>
   </div>
</div>

2 个答案:

答案 0 :(得分:22)

您正在寻找text()属性:

$('a', 'div.c2').text();

div.c2被定义为第二个参数的原因是因为它将是选择器的context。默认情况下,当您使用$()时,jQuery会搜索整个文档,指定div.c2它只会在<div>内搜索c2类。

记住这一点,你也可以像这样重写上面的内容:

$('div.c2 a').text();

大多数人更喜欢这个,因为它是用于在CSS样式表中选择此元素的语法。但是,jQuery必须弄清楚这一点。你甚至可以这样做:

$('div.c2').find('a').text();

但是,我更喜欢上下文方法,因为我觉得它更干净,速度更快,而不是重要。

还有html()属性,其中包含包含HTML 的内容。

所以,如果您的链接是这样的:

<a href='#'><b>Hi There</b></a>

然后:

$('a').text(); // would return Hi There
$('a').html(); // would return <b>Hi There</b>

答案 1 :(得分:4)

我认为.text().html()会有效,具体取决于您是否不想或希望标记内显示任何标记。

var txt = $('div.c2 > a').text();

var html = $('div.c2 > a').html()