現在、テーブルに行を挿入する作業コードがあります。次のようになります。
<script type= "text/javascript">
$(document).ready(function() {
var new_row = '<td><input type="text" value="Type question here" /></td><td><input type="button"class="add_next" value=" + " /><input type="button" class="move_up" value=" ^ " /><input type="button" class="move_down" value=" v " /><input type="button" class="remove" value=" x " /></td>';
var q_num = 2; // question number
$('.add_next').click(function() {
console.log(this);
console.log(($('<tr>')).insertAfter($(this).closest('tr'))
.attr('id', 'Q'+q_num)
.attr('name', 'Q'+q_num)
.append(new_row)
);
q_num++;
});
});
</script>
ここでの私の問題は、変数 new_row が醜いことです。$.append($(''))、.attr()、およびその他の jQuery 関数を使用して、この行をオンザフライで作成したいと考えていますが、それを行う方法は思いつきませんでした。私が思いついた最高のものはこれでした:
($('<tr>')).insertAfter($(this).closest('tr'))
.append($('<td>'))
.append('<input type="text" value="Type question here" />')
.append($('<td>'))
.append('<input type="button"class="add_next" value=" + " />')
.append('<input type="button" class="move_up" value=" ^ " />')
.append('<input type="button" class="move_down" value=" v " />')
.append('<input type="button" class="remove" value=" x " />');
有効な HTML のブロックではなく、jQuery を使用して同じエントリを作成するにはどうすればよいですか?
前もって感謝します!