我目前有工作代码将行插入表中。它看起来像这样:
<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 " />');
如何使用jQuery而不是有效的HTML块创建相同的条目?
提前致谢!
答案 0 :(得分:0)
而不是
.append('<input type="button"class="add_next" value=" + " />')
你可以
.append($('<input />').attr({
'class': 'add_next',
'type': 'button',
'value': ''
}));
答案 1 :(得分:0)
var new_row = $('<tr/>',{'id':'Q'+q_num,'name':'Q'+q_num}).append(
$('<td/>').append(
$('<input/>',{'type':'text','value':'Type question here'})
),
$('<td/>').append(
$('<input/>',{'type':'button','value':' + ','class':'add_next'}),
$('<input/>',{'type':'button','value':' ^ ','class':'move_up'}),
$('<input/>',{'type':'button','value':' v ','class':'move_down'}),
$('<input/>',{'type':'button','value':' x ','class':'remove'})
),
);
然后将您的插入代码更改为:
$(this).closest('tr').after(new_row);