JAVASCRIPT问题NoT JQUERY
with(req = new XMLHttpRequest())open("GET",url,true),onreadystatechange=function(){
if (req.readyState==4 && req.status==200){
proposalTable.insertBefore(req.responseText,proposalTable.lastChild.previousSibling);
}
},send(null);
req.responseText是
<tr><td>Row1</td></tr>
<tr><td>Row2</td></tr>
<tr><td>Row3</td></tr>
我想在表的最后一行(#proposalTable)之前插入此responseText 我的代码无效,因为.insertBefore函数的第一个参数应该是我认为的元素
答案 0 :(得分:0)
我将使用jquery插入行,如:
with(req = new XMLHttpRequest())open("GET","ajax.php? page=proposal&contractid="+x,true),onreadystatechange=function(){
if (req.readyState==4 && req.status==200){
var $my_table = $('#my_table_id > tbody'); // we actually insert into the tBody
var $last_row = $my_table.find('> tr:last');
var $new_rows = $(req.responseText);
$new_rows.appendTo($my_table);
$last_row.appendTo($my_table);
}
},send(null);
这基本上可以完成工作,我没有测试过这段代码,但这是基本的想法
答案 1 :(得分:0)
可以使用insertRow()函数。 这是一个例子:
<table id="proposalTable">
<tr><td>Row1</td></tr>
<tr><td>Row2</td></tr>
<tr><td>Row3</td></tr>
</table>
<script>
var eltd = document.createElement('td');
eltd.innerHTML = 'New row';
var eltable = document.getElementById('proposalTable');
var elrows = eltable.getElementsByTagName('tr');
var nrrows = elrows.length - 1;
eltable.insertRow(nrrows);
eltable.rows[nrrows].appendChild(eltd);
</script>