before:在被选元素之前添加的内容(内容外面)
prepend:在被选元素的前面添加的内容(内容的里面)
var trs = $("#count_table tr"); // 创建一个临时的<div>元素,并将要插入的HTML内容添加到其中 var tempDiv = $("<div></div>").html('<tr data-v-9366c256="">\n' + ' <td data-v-9366c256="">总数</td>\n' + ' <td data-v-9366c256="">' + totals[5] + '</td>\n' + ' <td data-v-9366c256="">' + totals[6] + '</td>\n' + '</tr>'); // 将临时<div>元素中的内容插入到指定位置之前 $(trs.get(1)).before(tempDiv.html());
after:在被选元素之后添加的内容(内容外面)
append:在被选元素的后面添加的内容(内容的里面)
after() 元素外的后面插入
insertAfter() 把内容插入到元素外的后面
before() 在元素外的前面插入内容
insertBefore() 把内容插入到目标元素外的后面
console.log(totals); var newTr = $('<tr class="el-table__row">\n' + ' <td rowspan="1" colspan="1" class="el-table_1_column_1 el-table__cell">\n' + ' <div class="cell">总数</div>\n' + ' <td rowspan="1" colspan="1" class="el-table_1_column_8 el-table__cell">\n' + ' <div class="cell">'+totals[6]+'</div>\n' + ' </td>\n' + ' </tr>'); newTr.insertAfter('#table tbody tr:first-child');
有可能 有这个异常。
在您的代码中,您使用了 jQuery 的 before() 方法来在指定元素之前插入新的 HTML 内容。但是由于您传递的是一个字符串,jQuery 会将其作为文本内容插入,而不会将其解析为 HTML。
为了确保插入的内容被解析为 HTML,您可以使用 jQuery 的 append() 方法来首先将内容添加到一个临时的 <div> 元素中,然后再将该 <div> 元素的内容插入到指定位置。以下是修改后的代码示例:
console.log(totals); //放到这节点 的前面。 var trs = $("#count_table tr"); // 创建一个临时的<div>元素,并将要插入的HTML内容添加到其中 var tempDiv = $("<div></div>").html('<tr data-v-9366c256="">\n' + ' <td data-v-9366c256="">总数</td>\n' + ' <td data-v-9366c256="">' + totals[0] + '</td>\n' + ' <td data-v-9366c256="">' + totals[1] + '</td>\n' + ' <td data-v-9366c256="">' + totals[2] + '</td>\n' + ' <td data-v-9366c256="">' + totals[3] + '</td>\n' + ' <td data-v-9366c256="">' + totals[4] + '</td>\n' + ' <td data-v-9366c256="">' + totals[5] + '</td>\n' + ' <td data-v-9366c256="">' + totals[6] + '</td>\n' + '</tr>'); // 将临时<div>元素中的内容插入到指定位置之前 $(trs.get(1)).before(tempDiv.html());
站长微信:xiaomao0055
站长QQ:14496453