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