我正在尝试使用jQuery创建一个表。有趣的是,在结果页面中,没有任何类或文本被添加到html中。结果是我只看到两个按钮,但没有文字,没有背景或周围环境。我使用类似的方法生成另一个元素,并且工作得很好。我希望在页面首次加载时调用此特定函数,我感觉这就是我的问题所在。你能解释一下原因吗?
$(function(){
function create_twitter_bar(){
var table_container = $("<table/ >", {
class: "container",
});
var row = $("<tr/ >");
var menu = $("<td/ >", {
class: "menu",
});
var add_element_button = $("<button/ >", {
text: '+',
class: "add_button",
});
var minimize_button = $("<button/ >", {
text: 'm',
class: "minimize_button",
});
menu.append(minimize_button);
menu.append(add_element_button);
row.append(menu);
table_container.append(row);
$("body").append(table_container);
}
create_twitter_bar();
}):
答案 0 :(得分:4)
您遇到的问题不在于class
参数,而在于您如何调用jquery。
$("<button/ >", {
text: '+',
class: "add_button",
});
这很好,但<button/ >
不是。它应该是<button />
。
这:
$("<button />", {
text: '+',
class: "add_button",
});
然而class
现在是一个保留名称,它应该被引用为字符串,但我很确定它并不重要,因为javascript中的对象只有字符串作为键。
同样正如我们所说的那样......这里有一个常见的语法错误,你会在某些浏览器上出现这种错误,即所谓的IE。在上面的代码中,仍然有一个小的语法错误,对于某些版本的IE来说可能非常引人注目。我不清楚究竟是哪一个但是想一想......一秒...... 4行?真?它在那里,但你的眼睛不会看到它。它太小了......所以错误是这个,对象定义中的最后一个,
。它不应该是有效的。您应该像这样编写代码:
$("<button />", {
text: '+',
class: "add_button"
});