从jquery中的段落中获取文本

时间:2010-08-24 00:52:49

标签: javascript jquery jquery-selectors

这在jquery中可能是一件非常简单的事情,但我无法弄明白。我的html文档具有以下结构

 <div class="body"> 
 <a href="/question?id=70"><p>This is the text I want to extract</p></a> 
 </div> 

我试过这个

$("body").find("a p").text()

但这似乎对我不起作用。我能够得到段落对象而不是文本。我用console.log测试它没用。

4 个答案:

答案 0 :(得分:9)

你应该有什么工作(you can test it here),确保你在DOM准备就绪时运行它,如下所示:

$(function() {
  alert($("body").find("a p").text()); //or just $("a p").text()
});

如果它早先运行,元素可能没有准备好,你的选择器将找不到任何匹配。

如果您想选择 body,请务必使用".body"代替"body"(这会选择<body>元素) 。这是使用.class selector的版本:

$(function() {
  alert($(".body a p").text());
});

答案 1 :(得分:0)

.html()函数检索内部html节点。

$('.body a p').html();

应该做的伎俩

答案 2 :(得分:0)

不确定这是否会导致问题,但您的标记无效。来自W3C的“The global structure of an HTML document

  

通常,块级元素可以包含内联元素和其他块级元素。通常,内联元素可能只包含数据和其他内联元素。这种结构区别的固有特征是块元素比内联元素创建“更大”的结构。

a元素应该被p等块元素包含,而不是相反。

答案 3 :(得分:0)

这是html或php文件中的段落元素,它是id assign tt

&#13;
&#13;
<p id="tt">ALert Message </p>
&#13;
&#13;
&#13; 在jquery文件中获取带有tt id的段落文本可以是

&#13;
&#13;
var tt = $("#tt").text();
alert(tt);
&#13;
&#13;
&#13;

适用于jquery-3.1.1.js