2011-12-02 27 views
0

IMG SRC我有簡單的HTML看起來像這樣:jQuery的如何選擇內HREF

<div class="img"> 
     <a target="_blank" href="kl_big.htm" id="turn-of-cloth-01_lg"> 
     <img src="images/galery/turn-of-cloth-01_lg.jpg" width="110" height="90" /> 
     </a> 
     <div class="desc">Add a description of the image here</div> 
    </div> 

我有像20套該div有不同的ID,現在在href ID IM與此

gtting
$(document).ready(function(){ 
    $('a').click(function (event){ 

     event.preventDefault(); 
     var linkID =$(this).attr("id"); 
    }); 
}); 

我不知道什麼是img對象id,但我需要獲取它的src值。 我試圖用jQuery這樣的:

var imgSrcVal = $(this).siblings("img").attr("src"); 

但出來的結果,也tryied click事件內,但再次沒有結果:

imgSrcVal = this.nextSibling.src; 

錯在這裏做什麼IM?

回答

6

<img>不是兄弟姐妹,它是錨的孩子。

試試這個:

$('a').click(function (event){ 
    var linkID = $(this).attr("id"); 
    var imgSrcVal = $('img', this).attr("src"); 
    //alert(imgSrcVal); 
    return false; 
}) 

Simple JSFiddle demo

3

img是嵌套的,所以使用.find().children()

var imgSrcVal = $(this).find("img").attr("src"); 
  • .find()外表看起來通過所有後代

  • .children()只有在直接後裔


或者與本地DOM方法如下:

var imgSrcVal = this.getElementsByTagName('img')[0].src; 

[0]是因爲getElementsByTagName返回一個類似數組的集合。所以[0]獲得找到的第一個元素。

2

該示例中的img標記不是a標記的兄弟,它是一個孩子。所以要得到src屬性的值,你會做$(this).children("img").attr("src")

3

我認爲這是你想要的。圖像是錨標籤的孩子,而不是兄弟姐妹。

$('a').click(function (event){ 
     event.preventDefault(); 
     var linkID =$(this).attr("id"); 
     alert($(this).children('img').attr('src')) 
    }); 

退房this fiddle