2014-05-02 75 views
0

我無法找到此問題的答案。我現在已經搜尋了兩個小時左右,並且只得到了死路一條。在點擊區域中抓取信息

<table> 
    <tr class="masterclass"> 
     <td class="subClass1"><img src="#" alt="Text Here 1" /></td> 
     <td class="subClass2"><p>Random Information Here</p></td> 
     <td class="subClass3"><a href="linkhere" class="buttonStyle">Submit</a></td> 
    </tr> 
    <tr class="masterclass"> 
     <td class="subClass1"><img src="#" alt="Text Here 2" /></td> 
     <td class="subClass2"><p>Random Information Here</p></td> 
     <td class="subClass3"><a href="linkhere" class="buttonStyle">Submit</a></td> 
    </tr> 
    <tr class="masterclass"> 
     <td class="subClass1"><img src="#" alt="Text Here 3" /></td> 
     <td class="subClass2"><p>Random Information Here</p></td> 
     <td class="subClass3"><a href="linkhere" class="buttonStyle">Submit</a></td> 
    </tr> 
    <tr class="masterclass"> 
     <td class="subClass1"><img src="#" alt="Text Here 4" /></td> 
     <td class="subClass2"><p>Random Information Here</p></td> 
     <td class="subClass3"><a href="linkhere" class="buttonStyle">Submit</a></td> 
    </tr> 
</table> 

所有我想要做的是在點擊鏈接時,我想提醒ALT標記文字是什麼形象只爲錶行。

這是我目前擁有的代碼:

$('a.buttonStyle').click(function() { 
    var thing = $('subClass1').siblings().attr('alt'); 
    alert(thing); 
}); 

回答

1

嘗試:

$('a.buttonStyle').click(function() { 
    var thing = $(this).closest('.masterclass').find('.subClass1 img').attr('alt'); 
    alert(thing); 
}); 

jsFiddle example

順便說一句,你沒有正確關閉你的形象標籤。

+0

太棒了!我不知道有這樣的事情「.closest」我有一個問題,但我沒有意識到...在有一個和圖像實際上在那跨度....我是否必須更改代碼? – Posz

+0

沒必要。如果代碼不起作用,你可以嘗試'.find('。subClass1 span img')',但它不應該是必須的。 – j08691

1

請注意,目前你的HTML標記是無效的,你需要關閉alt屬性值以及關閉img標籤。

後正確的,那麼你可以使用:

$('a.buttonStyle').click(function() { 
    var thing = $(this).closest('td').siblings('td.subClass1').find('img').attr('alt'); 
    alert(thing); 
}); 

Fiddle Demo

,甚至更短,但不太嚴格:

$('a.buttonStyle').click(function() { 
    var thing = $(this).parent().siblings('.subClass1').children().attr('alt'); 
    alert(thing); 
}); 

Fiddle Demo