如何访问动态创建的表中的元素?

时间:2013-11-14 19:01:16

标签: javascript search

我有一个表,我动态填充从下拉菜单中过滤的数据集。数据按索引(selectedIndex)过滤。

var table = document.getElementById("weather");
for (var i=0; i<indexSelected.length; i++) {
    var row=table.insertRow(i+1);
    var time=row.insertCell(0);
    var siteName=row.insertCell(1);
    var region=row.insertCell(2);
    var sigWeather=row.insertCell(3);
    var screenTemp=row.insertCell(4);
    time.innerHTML=weather[indexSelected.length[i]]["time"];
    siteName.innerHTML=weather[indexSelected.length[i]]["siteName"];
    region.innerHTML=weather[indexSelected.length[i]]["region"];
    sigWeather.innerHTML=weather[indexSelected.length[i]]["sigWeather"];
    screenTemp.innerHTML=weather[indexSelected.length[i]]["screenTemp"];
}

我正在尝试他们搜索此表中的特定元素。例如,该表列出了屏幕温度,我已经计算出最低屏幕温度,并希望在表格中搜索它。其中一个已经完成,我需要将背景颜色更改为此单元格,但是,我不知道如何去做。我将不胜感激。我只能使用Javascript。

2 个答案:

答案 0 :(得分:1)

请检查jquery promisedone方法

这两种方法可以帮助您添加事件并为动态创建的对象提供功能

答案 1 :(得分:0)

如何将此行添加到动态填充表格的代码中:

var table = document.getElementById("weather");
for (var i=0; i<indexSelected.length; i++) {
    [... snip ...]

    screenTemp.innerHTML=weather[indexSelected.length[i]]["screenTemp"];
    screenTemp.classList.add('screenTemp');
}

然后你可以通过document.querySelector('.screenTemp')

找到它

您也可以在填写信息后立即进行背景颜色更改:

var table = document.getElementById("weather");
for (var i=0; i<indexSelected.length; i++) {
    [... snip ...]

    screenTemp.innerHTML=weather[indexSelected.length[i]]["screenTemp"];
    changeBgColor(screenTemp);
}

function changeBgColor(screenTempCell) {
    // do your magic here
}