1

ajax 呼び出しから受信したデータをラップする新しい tr と td を追加するにはどうすればよいのでしょうか? 以下は動作しません。

$.get('/edit/'+course_id, function(data){ 

    ///add class to current tr
    $('#course_'+course_id).addClass( "info" );

    $('<tr><td>'+data+'</td></tr>').insertAfter('#course_'+course_id);

});

どんな助けでも大歓迎です。ありがとう

4

3 に答える 3

1

それをテーブル要素に追加できます。IE では、tbody にアタッチする必要があると思います。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script src="jquery.js"></script>
<script>
$(document).ready(function () {
    var data='some HTML';
    $('<tr><td>'+data+'</td></tr>').insertAfter('#course');
});
</script>
</head>

<body>
<table>
<tbody>
<tr id="course"><td></td></tr>
</tbody>
</table>
</body>
</html>
于 2013-02-14T11:17:22.357 に答える
0

最も良い方法はおそらく...

$.get('/edit/' + course_id, function() {
    // do whatever else you need to do
    var formatted = $('<tr/>').append($('<td/>', { html: data }));
    formatted.insertAfter('#course_' + course_id);
});

これにより、jQueryにほとんどすべてのことを実行させることで、htmlタグを文字列として記述したり、それらを閉じることを忘れないようにするなどの煩わしさから解放されます。

これがjsFiddleの例で、動作していることを示しています。これがお役に立てば幸いです。

于 2013-03-18T14:39:50.387 に答える