Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery将html表行插入到特定位置_Jquery - Fatal编程技术网

使用jquery将html表行插入到特定位置

使用jquery将html表行插入到特定位置,jquery,Jquery,我有一个包含价格信息的HTML表格。该表按价格升序排序。我想用一个新的价格项目来更新表格。我非常确信jquery应该能够解决这个问题。这是我的起始表: <table id='priceTable'> <tr id="25607"> <td> Item 1 </td> <td> $256.07 </td> <td>USD</td>

我有一个包含价格信息的HTML表格。该表按价格升序排序。我想用一个新的价格项目来更新表格。我非常确信jquery应该能够解决这个问题。这是我的起始表:

<table id='priceTable'>
<tr id="25607">
    <td>
        Item 1
    </td>
    <td>
        $256.07
    </td>
    <td>USD</td>
</tr>
<tr id="30100">
    <td>
        Item 2
    </td>
    <td>
        $301.00
    </td>
    <td>USD</td>
</tr>
<tr id="30557">
    <td>
        Item 3
    </td>
    <td>
        $305.57
    </td>
    <td>USD</td>
</tr>
</table>

项目1
$256.07
美元
项目2
$301.00
美元
项目3
$305.57
美元
我需要插入一个新行

<tr id="29000">
        <td>
            Item 5
        </td>
        <td>
            $290.00
        </td>
        <td>USD</td>
    </tr>

项目5
$290.00
美元
需要在id为25607和id为30100的之间插入此行


我认为应该有一种方法来使用tr的id(即只有数字的价格)。可能会对ID进行排序,并找出新项目应插入的位置。

您可以使用
after()
方法:

$('#25607').after("<tr id='29000'>....");
$('25607')。在(“…”)之后;

是的,jQuery能够解决这个问题

var row = '<tr id="29000"><td>Item 5</td><td>$290.00</td><td>USD</td></tr>';
var $tr = $(row);

$('#priceTable tr')
         .add($tr) // add the new tr to the collection
         .sort(function(a, b){  // sort them
             return a.id > b.id
         }) 
         .appendTo('#priceTable'); // end of the game
var行=“第5项290.00美元”;
var$tr=$(行);
$(“#价格表tr”)
.add($tr)//将新的tr添加到集合中
.sort(函数(a,b){//对它们进行排序
返回a.id>b.id
}) 
.appendTo(“#priceTable”);//比赛结束

您可以使用jQuery after()和before()方法

jQuery after()方法在所选HTML元素之后插入内容

$('#25607').after("<tr id='29000'>....");
jQuery before()方法在所选HTML元素之前插入内容

$('#25607').after("<tr id='29000'>....");
$('25607')。在(“…”)之后;

$('30100')。在(“..”)之前;