作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
menuOrder
是一个空 div
$("#menuOrder").append('<table>');
$(menus).each(function(i, menu) {
$("#menuOrder").append('<tr><td>');
$("#menuOrder").append(menu.text);
$("#menuOrder").append('</td><td>');
if (i > 0) {
$("#menuOrder").append('<img src="/images/_images/up.png" />');
} else {
$("#menuOrder").append('<img src="/images/_images/blank.png" />');
}
if (i < menus.length - 1) {
$("#menuOrder").append('<img src="/images/_images/down.png" />');
}
$("#menuOrder").append('</td>');
$("#menuOrder").append('</tr>');
});
$("#menuOrder").append('</table>');
此代码无法正常工作,如何以最少的迭代次数更改它?
最佳答案
尝试做这样的事情:
var rows = [];
$(menus).each(function(i, menu) {
var row = '<tr><td>'.menu.text.'</td><td>';
if (i > 0) {
row +='<img src="/images/_images/up.png" />';
}
else {
row +='<img src="/images/_images/blank.png" />';
}
if (i < menus.length - 1) {
row +='<img src="/images/_images/down.png" />';
}
row += '</td></tr>';
rows.push(row);
});
$('<table></table>').append(rows.join('')).appendTo('#menuOrder');
这将使用包含每行 HTML 的字符串填充 rows
数组。创建完所有行后,它会创建一个表元素的 jQuery 对象,并将所有行附加到其中。然后,它将表格附加到#menuOrder
。
关于javascript - jQuery 建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2716919/
我是一名优秀的程序员,十分优秀!