2013-08-21 85 views
-1

我正在從http獲取html響應,但無法解析返回的值。如何從http獲取響應中獲取屬性

我的腳本有$.get(url, function(data, status) {

數據和狀態都不錯。

我得到的HTTP響應的有效獲取和數據的價值是這樣的:

<HTML><HEAD> 
<TITLE>Some title</TITLE> 
<STYLE TYPE="text/css"> 
</STYLE> 
<script type="text/javascript"> 
</script> 
</HEAD> 
<BODY> 
<div id="mytitle" title="Some title value goes here"></div> 
<p align="right"><i>&copy; 2012 My company Name. All Rights Reserved.</i></p> 
</BODY> 
</HTML> 

我想訪問與ID mytitle div和獲取title屬性。我已經嘗試了幾件事情,但都沒有發揮作用。我曾嘗試過:

var k = data; 
var m = $(k).find("esptitle").attr("title").text(); 
alert(m); // note alert(k) is same as data and works 
other tries: 
var m = k.find("esptitle").attr("title"); 

}); 

欣賞任何提示..很多謝謝。

+2

什麼是'esptitle'應該參考? –

+3

這沒有任何意義。什麼是「esptitle」?這樣的事情在您發佈的HTML中並不存在。如果你正在試圖找到id爲mytitle的元素,你需要使用$(「#mytitle」)''來通過id來選擇。請閱讀jQuery選擇器,這是*非常*基本的jQuery。 – meagar

回答

0

var m = $(k).find("esptitle").attr("title").text();是從概念上做到這一點的正確方法,但.find("esptitle")試圖找到標籤。你沒有這個在你的HTML,它不是一個HTML標籤無論如何。如果您正在使用框架或任何在服務器代碼中使用「esptitle」作爲關鍵字或xml標記的內容,則應該意識到瀏覽器和JavaScript無法訪問此代碼。他們只能使用生成的html和css以及服務器在發出ajax請求時發送的內容。

對於.attr()的結果,你也不能調用.text(),因爲attr以字符串的形式返回一個屬性的值,我猜是你實際需要的。

正確的代碼是:

var m = $(k).find("#mytitle").attr("title");