使用jquery输出html标签是错误的吗?

geo*_*310 5 jquery

只是想知道用javascript输出html标签是不好的做法.例如,假设我有一个表,并在页面加载ajax请求获取数据填充它.对于每行数据,我需要输出另一行,如下所示:

$('#results').html('<tr><td>'+data.people[i]['name']+'</td><td>'+data.people[i]['age']+'</td><td>'+data.people[i]['gender']+'</td></tr>');
Run Code Online (Sandbox Code Playgroud)

这样做不好吗?

sus*_*ani 5

这不是正常做法.这就是你通常动态添加html的方法.


meo*_*meo 3

不算太差。您可以采取两件事来改进它:

我想您在每个循环中都有这个,因此您可以在使用 HTML 设置之前构建完整的表格。所以你只需执行一次 .html() 操作。

var yourTableHTML = ""

$.each(yourContentArray, function(data,i){
  youtTableHTML += '<tr><td>'+data.people[i]['name']+'</td><td>'+data.people[i]['age']+'</td><td>'+data.people[i]['gender']+'</td></tr>'
})

$('#results').html(yourTableHTML);
Run Code Online (Sandbox Code Playgroud)

第二件事是,您可以在克隆的 HTML 文件(模型行)中使用 HTML 模型。因此,如果其他人必须更改一次 HTML,他不需要更改 javascript。