2012-03-02 40 views
0

我想從這個jQuery html()獲取src。jquery試圖使用HTML獲取src()

所以使用jQuery的html()我的警報顯示了該輸出

什麼,我要的是SRC。請參閱下面的代碼:

var $boxes = $(".slideWrap"), 
       var hdnImg = $boxes.first().show(); 
       var p = hdnImg.html(); //OUTPUTS <img src="../image090.png" id="ctl00_ContentPlaceHolder1__Graphics1"> 
       alert(p.attr("src")); // DOES NOT WORK?? 

爲什麼p.attr(「src」)不起作用?我想獲取HTML,然後從HTML獲取src。

任何人請幫忙嗎?

+1

你想'hdnImg.attr( 「SRC」)' – scibuff 2012-03-02 14:12:09

+0

試過出現錯誤 「未定義」 的消息。有沒有從jquery html()獲取src的方法。 – user929153 2012-03-02 14:13:58

回答

3

According to the documentation.html()返回一個字符串。字符串沒有.attr()方法。

如果您想要元素中的屬性,請使用.attr()上的元素具有所需的屬性。


這裏的問題的另一部分...

var p = hdnImg.html(); //OUTPUTS <img src="../image090.png" id="ctl00_ContentPlaceHolder1__Graphics1"> 

由於輸出顯示<img>的HTML和.html()方法返回的HTML 內容,那麼這意味着圖像嵌套。

要獲得圖像,您需要向下遍歷它。做到這一點,而不是...

var p = hdnImg.children('img').html(); 
+1

非常好的解釋謝謝:-)作品像一個款待.. – user929153 2012-03-02 14:26:46

0

你不想要的HTML,你希望的jQuery包裹的DOM元素:hdnImg.attr("src");

0

p不是一個jQuery對象。

嘗試:

$(p).attr("src") 
2

我認爲你正在尋找

hdnImg.children('img').attr('src') 
+0

謝謝你的作品! :-) – user929153 2012-03-02 14:27:47

0

的問題是,你的hdnImg變量不是實際IMG元素,但父元素(即任何具有.slideWrap一類)

首先得到img元素是這樣的:

var img = hdnImg.find("IMG"); 

,你可以得到src

var src = img.attr("src");