-1

JAVASCRIPT 问题不是 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 函数的第一个参数应该是我认为的元素

4

2 回答 2

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);

这基本上可以完成工作,我没有测试这段代码,但这是基本思想

于 2012-03-24T13:51:20.337 回答
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>
于 2012-03-24T14:53:50.240 回答