0

jQueryを使用してテーブルの行を削除しようとしています。見つけたすべての方法を使用しましたが、どれも機能しませんでした。各行の最後に削除があり、それをクリックすると、それが配置されている行を削除する関数がトリガーされます。しかし、それはうまくいきません。

コメントには、失敗した私の試みがあります。最初のような擬似はありますが、現在のアイテム(このようなもの)ですか?

function del(){

//$(this).parent().parent().remove();
//$(this).closest("tr").remove();
//$('table tr:last').remove();   this one worked but it deletes the last and I want the current one to be deleted

 }

テーブルを生成するコードは次のとおりです。

$.getJSON("nutritional_value.php?value=" + encodeURI(value), function (data) {
var ttr = $("<tr class='rou' />");   
$.each(data, function(k, v){
var store_1 = v * (parseFloat(uneseno, 10) / 100);
var xstore_1 = store_1.toFixed(2);

$("<td class='teedee'></td>").text(k=='name' ? v : xstore_1).appendTo(ttr);



});
$("<td id='delete' onClick='del();'>Delete</td>").appendTo(ttr);
$("#tejbl").append(ttr);
}); 
4

1 に答える 1

3

$(this).closest("tr").remove();HTML を使用するように変更すると、問題なく動作しますonClick='del(this);'。さらに良いのは、い DOM0 イベントバインディングをスキップして、次を使用すること.on()です。

$(document).on('click', 'td.delete', del);

あなたのコードは現在、ID が重複した HTML を生成していることに注意してください。要素 ID は一意である必要があります。代わりにクラスを使用します。

$("<td class='delete'>Delete</td>").appendTo(ttr);
于 2013-06-03T22:26:49.730 に答える