如何找到包含h1的td元素,然后将onclick事件添加到td

时间:2014-03-27 14:06:55

标签: javascript jquery html onclick

我需要在Jquery中添加一个onclick事件。这是标准 - 如果td包含h1元素,则需要将其添加到h1元素之后的下一个td。例如,我有以下html:

<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事件需要添加到任何“a”链接,而不是h1标题后的td(带有所有文本文本的td)

我对html没有任何控制权,因此我无法添加任何ID或任何内容。

3 个答案:

答案 0 :(得分: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 :(得分:1)

请试试这个

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

答案 2 :(得分:0)

试试这个:

$(&#34; TD&#34)。每一(功能(){ 如果($(本)。先后(&#34; H1&#34;){ $(本)。接下来()附加(&#34;单击&#34;); } });