0

さて、変数、関数、および順序なしリストがあります。私はこのコードを実行します:

var someid = '501bc5210642741838000000';
var liststring = '<li class="ui-state-default" id="'+someid+'">'+
                 '<button type="button" class="del" onclick="newfunction('+someid+');" >X</button>Slide</li>';
$('ul').append(liststring);

このコードは、someid の異なる値に対して複数回繰り返されます。

関数 newfunction() は次のようになります。

var newfunction = function(someid){
$('#'+someid).remove();
//some other stuff; the above is the important bit
}

これにより、ボタンがクリックされたときに someid が newfunction() に渡されます。これには、ボタンを含むリスト要素を DOM から削除する jQuery コードがあります。

それを台無しにしているビットは、リスト要素などを文字列で囲んでリストHTMLに追加しているという事実です。それ以外の場合はコードが機能することを確認しました.2つのリスト要素を手動でコーディングしたところ、完全に実行されました. おそらくいくつかの構文が欠けています - 何が欠けているのでしょうか?

4

3 に答える 3

1

someid を次のように引用符で囲んでみてください

onclick="newfunction(\'' + someid + '\');"
于 2012-08-06T20:38:53.090 に答える
1

変数の前後に引用符を追加して、変数名ではなく文字列として出力されるようにしてください。

'<button type="button" class="del" onclick="newfunction(\''+someid+'\');" >X</button>Slide</li>';
于 2012-08-06T20:37:50.643 に答える
0

live-methodだけを使用できるはずです。

$(function() {
    $('li.ui-state-default').live('click', function() {
        $(this).remove();
    });
});

これは、 now を使用する新しいバージョンの jQuery では非推奨になっていることに注意してくださいon

詳細はこちら

lg、

フロー

于 2012-08-06T20:38:24.713 に答える