2014-03-27 31 views
3

我需要在Jquery中添加onclick事件。這是標準 - 如果td包含h1元素,則需要將它添加到h1元素後面的下一個td中。例如,我有以下的html:如何查找包含h1的td元素,然後將onclick事件添加到td

<table cellpadding="0" cellspacing="0" width="100%"> 
    <tr> 
     <td colspan="2"><h1>Activity Packs</h1></td> 
    </tr> 
    <tr> 
     <td colspan="2"><P>Test test Test test Test testTest test Test test Test test Test test Test test Test test Test test Test test Test test Test test Test test Test test. Link: <a href="/products">I am a link</a></p></td> 
    </tr> 

onclick事件需要被添加到任何「一個」鏈接,而不是在TD的H1標題(所有文字文本TD)

我不後沒有任何控制的HTML,所以我不能添加任何ID或任何東西。

+0

你能寫出你的示例HTML中將會發現什麼以及它將被替換的內容嗎? – Thomas

回答

2

嘗試這樣:

$('table h1').closest('tr').next().find('a').on('click', function(e) { 
    e.preventDefault(); 
    alert($(this).text()); 
}); 

演示:http://jsfiddle.net/2yd3g/1/

或更有效:

$('table h1').closest('tr').next().on('click', 'a', function(e) { 
    ... 
}); 
1

請儘量將

$('table tr td').each(function(){ 
    if($(this).find('h1')[0] != undefined){ 
    $($(this).find('h1')[0]).after('<a href="#">abc</a>'); 
    } 
}) 
0

試試這個:

$(「td」)。each(function(){if(this).has(「h1」){ $(this).next()。append(「click」); } });