从 jquery 中的段落中获取文本

发布于 2024-09-15 20:41:00 字数 349 浏览 3 评论 0原文

这在 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测试过,没有用。

This might be a very simple thing in jquery but I am not able to figure it out. My html document has the following structure

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

I tried this

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

but this does not seem to be working for me. I am able to get the paragraph object but not the text. I tested it with console.log with no use.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

唔猫 2024-09-22 20:41:00

你所拥有的应该可以工作(你可以在这里测试它),确保你在运行它时不过 DOM 已经准备好了,就像这样:

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

如果它运行得更早,元素可能还没有准备好,并且您的选择器将找不到任何匹配项。

如果您想选择classbody,请确保使用".body"而不是"body" (这将选择 元素)。这是使用 .class 选择器的版本:

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

What you have should be working (you can test it here), make sure you're running it when the DOM is ready though, like this:

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

If it runs earlier, the elements may not be ready, and your selector won't find any matches.

If you want to select the class body make sure to use ".body" instead of "body" (which would select the <body> element). Here's a version using the .class selector:

$(function() {
  alert($(".body a p").text());
});
紫﹏色ふ单纯 2024-09-22 20:41:00

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

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

应该能解决问题

the .html() function retrieves a nodes inner html.

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

should do the trick

鸢与 2024-09-22 20:41:00

不确定这是否会导致问题,但您的标记无效。来自“HTML 文档的全局结构”由 W3C

一般来说,块级元素可能包含内联元素和其他块级元素。通常,内联元素可能仅包含数据和其他内联元素。这种结构区别的本质是块元素创建比内联元素“更大”的结构。

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

Not sure if this would cause a problem, but you have invalid markup. From "The global structure of an HTML document" by the W3C

Generally, block-level elements may contain inline elements and other block-level elements. Generally, inline elements may contain only data and other inline elements. Inherent in this structural distinction is the idea that block elements create "larger" structures than inline elements.

a elements are supposed to be contained by block elements like p, not the other way around.

岁吢 2024-09-22 20:41:00

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

<p id="tt">ALert Message </p>

in in jquery file to get the text of your paragraph with tt id can be

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

对于 jquery-3.1.1.js 工作正常

here is your paragraph element in html or php file which is id assign tt

<p id="tt">ALert Message </p>

in in jquery file to get the text of your paragraph with tt id can be

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

working fine for jquery-3.1.1.js

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文