取「H1」我有這樣的代碼Jquery的不是從文字
success: function(data) {
title = $(data).find('h1').text();
alert(data);
alert(title);
}
現在數據顯示所有H1標籤的HTML,但標題顯示空
取「H1」我有這樣的代碼Jquery的不是從文字
success: function(data) {
title = $(data).find('h1').text();
alert(data);
alert(title);
}
現在數據顯示所有H1標籤的HTML,但標題顯示空
.find()
方法查找後代元素,因此如果您的h1元素處於「頂級」級別,它將不會被找到。嘗試.filter()
代替:
title = $(data).filter('h1').text();
「基本上,我想要抓住h1和投入變量,然後把剩下的HTML數據變量」
給定data
參數是字符串是這樣的:
"<h1>My heading</h1><p>This is a test</p><p>This <span>is another</span> test.</p>"
您可以這樣做:
var $data = $(data),
$title = $data.filter("h1"),
title = $title.text();
$data = $data.not($title);
上述結果兩個jQuery的對象:$title
,其中包含h1元素,和$data
,其中包含的其餘部分。從那裏你可以使用$title.text()
來獲得h1的實際文本。
簡單的演示:http://jsfiddle.net/yyKCW/
如果你的意思是你想要的「剩餘HTML」作爲字符串那麼你可以做如上設置$data
後如下:
var restAsString = $("<div></div>").append($data).html();
謝謝哥們,那完美的工作 – user825904 2012-07-30 06:18:23
如果您的數據組成是這樣的:
<h1>heading</h1>
<p>content</p>
然後,你需要在執行你的查詢之前把它包起來:
var title = $('<div/>').html(data).find('h1').text();
alert(title);
感謝工作的朋友。我沒有包裝它。還有一件事是'title = xxx'和'var title = xxxx'之間的差異是什麼? – user825904 2012-07-30 02:13:32
@ user1544681很高興它有幫助!這裏是你的'var'問題的一個很好的答案:http://stackoverflow.com/a/2485895/187954 – 2012-07-30 02:15:25
@ user1544681如果它幫助你解決你的問題,你可以隨時接受答案! – 2012-07-30 02:15:45
您能否提供樣本數據? – 2012-07-30 02:07:11
它實際上顯示'null'?如果沒有找到匹配,我會認爲它會顯示一個空字符串。 – 2012-07-30 02:09:34