【发布时间】:2019-07-26 21:45:00
【问题描述】:
我尝试制作一个将表格附加到 div 的脚本(div 在站点中)。我使用函数:
function makeTable(container, data) {
var table = $("<table/>");
$.each(data, function (rowIndex, r) {
var row = $("<tr/>");
$.each(r, function (colIndex, c) {
row.append($("<t" + (rowIndex === -1 ? "h" : "d") + "/>").append(c));
});
table.append(row);
});
return container.append(table);}
它在 Firefox 和 Yandex 浏览器上运行良好,但在 Slimjet 上却不行。 我的桌子是这样的:
var kw_time_input = $('<input>').attr('id', 'kwtime_i').attr('checked', GM_getValue(nick_p + link_id + 'kwtime')).attr('type', 'checkbox');
var own_kw_time_input = $('<input>').attr('id', 'ownkwtime_i').attr('checked', GM_getValue(nick_p + link_id + 'ownkwtime')).attr('type', 'checkbox');
var kw_bg_color_select = $('<select>').attr('id', 'kw_bg_color_select').attr('class', 'combobox').css('display', 'flex').css('width', 'auto').attr('style', 'text-align-last: center; text-align: center;').css('color', GM_getValue(nick_p + link_id + 'kw_bg_color_select_last'));
var kw_text_color_select = $('<select>').attr('id', 'kw_text_color_select').attr('class', 'combobox').css('display', 'flex').css('width', 'auto').attr('style', 'text-align-last: center; text-align: center;').css('color', GM_getValue(nick_p + link_id + 'kw_text_color_select_last'));
var okw_bg_color_select = $('<select>').attr('id', 'okw_bg_color_select').attr('class', 'combobox').css('display', 'flex').css('width', 'auto').attr('style', 'text-align-last: center; text-align: center;').css('color', GM_getValue(nick_p + link_id + 'okw_bg_color_select_last'));
var okw_text_color_select = $('<select>').attr('id', 'okw_text_color_select').attr('class', 'combobox').css('display', 'flex').css('width', 'auto').attr('style', 'text-align-last: center; text-align: center;').css('color', GM_getValue(nick_p + link_id + 'okw_text_color_select_last'));
var kw_settings_arr = [
["Czas do zakończenia najbliższego KW do którego dołączysz", kw_time_input, "Kolor tła:", kw_bg_color_select, "Kolor czcionki:", kw_text_color_select],
["Czas do zakończenia założonego KW", own_kw_time_input, "Kolor tła:", okw_bg_color_select, "Kolor czcionki:", okw_text_color_select]
];
makeTable($("#3"), kw_settings_arr);
我无法附加table.append(row); 但我不知道为什么?
怎么了?
【问题讨论】:
-
我认为问题出在
var table = $("<table/>");中,当我尝试使var table = $("<div/>");起作用时,可以毫无问题地附加row。如何解决?
标签: javascript jquery error-handling append