2

すべての tr の最初の 2 つの td (なめられるようにする必要があります) とすべての tr の最後の td (異なるリンク) を選択する際に問題があります。誰かがコードを手伝ってくれますか? 私はそれを理解できないようです。コードは合法に見えますが、機能しません。js と html は次のとおりです。

JS

$(".rand_notif td:lt(2)").click(function(){
    $(".rand_notif").html("asd");
})

HTML (どういうわけか..まだ js ですが html)

$.each(data.notif,function(i,x){
    var cant='';

    if(x.cant>0){var cant = x.cant+"x";}
    notificari+="<tr class='spacer_2'></tr><tr class='notificari rand_notif' record='"+x.id+"'><td>"+cant+"</td><td>"+x.nume+"</td><td>Refuz</td></tr>";
});

実際のhtml

<table cellspacing="0" id="tabel_notificari">
    <tr class="spacer_1"></tr>
    <tr class="table_head notificari">
        <th width="30"></th>
        <th>Notificari</th>
        <th width="86"></th>
    </tr>
</table>

編集:問題は解決しました。問題は、コメントで説明されているように、要素が最初にバインドされてから追加されたため、バインドが存在しなかったという事実でした。解決:

$("#tabel_notificari").on("click", ".rand_notif td:lt(2)",function(){$(".rand_notif").html("asd");});
4

2 に答える 2

2

JavaScript を使用してテーブル セルを作成しているため、別の方法を使用してクリック イベントをそれらにアタッチする必要があります。以下に示すように、テーブル自体に添付されている「ON」メソッドを使用してみてください。これは、DOM のロード後にテーブルに追加されたすべての TD に適用されます。

$("#tabel_notificari").on("click", ".rand_notif td:lt(2)", function(e) {
   $(this).html("asd");
});
于 2013-04-30T20:21:10.013 に答える