2010-08-24 47 views
5

這可能是一個非常簡單的事情在jQuery中,但我無法弄清楚。我的html文件的結構如下從jquery中的段落中獲取文本

<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測試了它,沒有用處。

+0

如果'text()'不適合你,你可能不會選擇你認爲你應該是的。 – 2010-08-24 00:55:46

+1

$(「body」)!= $(「。body」) - 第一個get標籤主體,第二個獲取主體類。 – Topera 2010-08-24 00:59:02

回答

8

什麼你應該是工作(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()); 
}); 
+0

感謝jsfiddle ..這就是我搜索JS的東西。 – satyajit 2010-08-24 01:28:28

+0

我錯過了。在課程名稱前面,我忘了它:) Topera也發現了這個錯誤 – satyajit 2010-08-24 02:15:37

0

的html的()函數檢索節點內的HTML。

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

應該做的伎倆

0

不知道這是否會導致一個問題,但你有無效的標記。來自W3C的「The global structure of an HTML document

通常,塊級元素可能包含內聯元素和其他塊級元素。通常,內聯元素可能只包含數據和其他內聯元素。在這種結構性區分中固有的概念是塊元素創建「更大」的結構比內聯元素。

a元素應該被塊元素包含,如p,而不是其他方式。

0

這裏是HTML或PHP文件的段落元素是ID給TT

<p id="tt">ALert Message </p>
在jQuery的文件,以獲得與TT ID您的段落的文字可以

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

正常工作jquery-3.1.1.js