gpt4 book ai didi

在 Mac OSX 上的 Firefox 中使用 JQuery 的 Javascript 表构造错误

转载 作者:行者123 更新时间:2023-11-28 00:29:57 25 4
gpt4 key购买 nike

我正在使用一些代码来使用 JQuery 构建表格,但是在 Mac OSX 上的 Firefox 3.5.3 中,表格单元格都单独出现在单独的行中,而不是在它们各自的行中。 OSX 上的 Chrome 5.0.342.7 beta 可以正确生成表格,Safari 4.0.5 也是如此。

这是一个最小的复制案例:

<html>
<body>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function()
{
var b = $('body');
b.append("<table>");
for (var i = 0; i < 3; ++i)
{
b.append("<tr>");
for (var j = 0; j < 3; ++j)
b.append("<td>x</td>");
b.append("</tr>");
}
b.append("</table>");
});
</script>
</body>
</html>

在 Chrome 和 Safari 中,我得到了这个正确的输出:

x x x
x x x
x x x

但是 Firefox 产生:

x
x
x
x
x
x
x
x
x

请注意,如果我在不使用 Javascript 的情况下手动创建那个确切的表格(即直接进入 HTML),那么该表格会在 Firefox 中正确显示。另外,如果我将 JS 更改为 append 然后一次调用整个表,那么它也可以工作——唯一不起作用的情况是,如果你像我一样逐部分添加它之前。

我的问题是:这是预料之中的,还是我应该将此作为错误报告给 Firefox?我很确定这是 Firefox 的一个错误,但我对 JS 和 Web 开发总体来说是个新手,所以也许我遗漏了什么?

附言很明显,有一些简单的方法可以解决这个问题——这与我无关。见上文。

最佳答案

你正在尝试做很多 jQuery 会为你处理的事情:

var table = $("<table>");
for (var i = 0; i < 3; ++i) {
var tr = $("<tr>").appendTo(table);
for (var j = 0; j < 3; ++j)
$("<td>x</td>").appendTo(tr);
}
table.appendTo('body');

jQuery 将为您处理创建 DOM 片段并为您创建元素。

关于在 Mac OSX 上的 Firefox 中使用 JQuery 的 Javascript 表构造错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2534563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com