如何在Javascript中生成带循环的表元素

时间:2015-11-28 15:03:24

标签: javascript dom

所以我得到了一段代码来彻底和优化,这些位实际上让我有点卡住,原始程序员一次将所有内容附加到thead但是我想用内容做一个数组并附加它在阵列中将是一个更好的主意。

// loop through length of list and create a th while appending a message into it..
            var tt = ['ID', 'Name', 'Price', 'Quantity', 'Item Total'];
            for(i; i < tt.length; i++){
                header.appendChild(document.createElement('th').appendChild(document.createTextNode(tt[i])));
                console.log('pushed')
            }

然而,这似乎并没有起作用,因为chrome正在直接跳过for循环的内部。我被声明为全局,因为我想在这个程序中使用一些循环。有人有任何想法吗?

由于

2 个答案:

答案 0 :(得分:0)

您最终追加的元素是文本节点本身,因为document.createElement('th').appendChild(document.createTextNode(tt[i]))的返回值是textnode。你必须把它分开:

        var tt = ['ID', 'Name', 'Price', 'Quantity', 'Item Total'];
        for(i; i < tt.length; i++) {
            var th = document.createElement('th');
            th.appendChild(document.createTextNode(tt[i]));
            header.appendChild(th);
            console.log('pushed')
        }

答案 1 :(得分:0)

现在我感觉有点慢,大约5分钟后我发现如果我将TH值分配给它将附加到dom的变量,那么更新后的代码就是......

import win32gui

def get_window_hwnd(title):
    for wnd in enum_windows():
        if title.lower() in win32gui.GetWindowText(wnd).lower():
            return wnd
    return 0

def enum_windows():
    def callback(wnd, data):
        windows.append(wnd)

    windows = []
    win32gui.EnumWindows(callback, None)
    return windows

hwnd = get_window_hwnd("paint")
print(hwnd)