原生JavaScript生成表格行的代码如何改写为可运行的jQuery版本
现有jQuery代码的错误点
- 错误1:
$("tr")是选择器语法,作用是选中页面中所有已存在的<tr>元素,而非创建新的<tr>节点。jQuery创建新元素的语法需要包裹尖括号,即$("<tr>")。 - 错误2:
datosTabla.appendChild()是原生DOM的方法,接收的参数必须是原生DOM节点,但你定义的fila是jQuery封装的对象,直接传入会报错。如果要混用原生方法,需要通过fila[0]取出jQuery对象里的原生DOM节点,更推荐统一使用jQuery的API完成添加操作。 - 补充:原有代码里第一个
<td>没有写闭合标签,虽然浏览器会自动补全容错,还是建议加上闭合标签保证语法规范。
正确实现代码
你可以直接替换原有循环内的DOM操作部分,修改后完整逻辑如下:
for(let i = 1; i <= plazos; i++) { pagosIntereses = parseFloat(valor*(tasas/100)); pagoAmortizacion = pagoMensual - pagosIntereses; valor = parseFloat(valor-pagoAmortizacion); fechaX = hoy.setMonth(hoy.getMonth() + 1); // jQuery创建tr并填充内容 const fila = $("<tr>").append( `<td>${formatoFecha(fechaX)}</td> <td class="valorCuota">${pagoMensual.toFixed(2)}</td> <td>${pagoAmortizacion.toFixed(2)}</td> <td>${pagosIntereses.toFixed(2)}</td> <td>${valor.toFixed(2)}</td>` ); // 如果datosTabla是原生DOM节点,用如下写法 $(datosTabla).append(fila); // 如果datosTabla本身就是jQuery选择出来的对象,直接写 datosTabla.append(fila); 即可 }
内容的提问来源于stack exchange,提问作者user16754567
相关产品推荐
相关产品推荐

