如何使这段代码更清晰
How to make make this code clearer?
如果这对你来说是一个简单的问题,我很抱歉。但是我真的很纠结这个问题
在我们的应用程序中,每个页面都有大量ajax调用。我们使用jQuery ajax。目前我们正在做的是
当我们从myresults
得到结果时,我们正在传递给一个函数populate
,在那里我们正在构建结果。
function populate(myresults)
{
var str='<table>';
for(var i in myresults){
str+='<tr>';
str+=myresults[i].name;
str+='</tr>';
}
str+='</table>';
$('#divId').html(str);
}
不完全是,我们在所有地方都建桌子。代码工作得很完美,但我认为这样写代码不是正确的方法。我怎样才能美化我的代码。我可以使用jQuery或javascript
您应该尝试寻找TemplateEngine -它可以减少代码计数并使其更清晰。你推荐哪些Javascript模板引擎?
您应该通过JSLint或JSHint等检查引擎运行您的代码,并且您应该熟悉良好的实践。
这里有一种方法(不止一种可能的解决方案)来优化你的代码:
function populate(myresults) {
var table = $(document.createElement('table'));
$(myresults).each(function (i) {
var row = $(document.createElement('tr')),
cell = $(document.createElement('td')).text(myresults[i].name);
row.append(cell);
table.append(row);
});
$('#divId').append(table);
}
也许,创建一个新的DOM元素更正确?
像这样:
function populate(myresults)
{
var str= $('<table />)';
for(var i in myresults){
str.append($('<td />').text(myresults[i].name).appendTo($('<tr />')));
}
$('#divId').empty().append(str);
}
你可以这样做:
function populate(myResults)
{
var tab = $('<table />');
for(var i in myResults){
if (myResults.hasOwnProperty(i)) {
var tr = $('<tr />');
tr.append($('<td /'>, {text: i.name}));
tab.append(tr);
}
}
$('#divId').append(tab);
}
按照其他人的建议使用模板引擎会更好,因为它是一种更好、更可维护的方法。
相关文章:
- 从桌面读取python文件时高亮显示代码
- 如何将函数包装在函数中以避免代码重复
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 货币代码为欧元-金额的格式不应包含小数
- Regex代码只允许一个空格
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 从var向代码隐藏函数传递值
- 如何动态插入jquery代码
- 如何在php变量中嵌入JQuery代码
- 代码不会验证
- 如何从rails中的代码中删除新行( )
- Angularjs代码未在匿名函数中运行
- 如何做到这一点,使代码在不传递条件后执行函数
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 面向对象的Javascript代码在IE7中不起作用
- 将 jQuery 代码添加到 Index.aspx 页面
- 为什么忽略了eval()代码中的语法错误
- 元素在我的代码中不会.fadeTo.Don'I don’我不知道;s错误的JavaScript、JQuery、H
- 如何使我的代码更清晰
- 如何使这段代码更清晰