2013-11-14 79 views
0

我有一个表,我动态填充从下拉菜单过滤的数据集。数据通过索引(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。

+0

哪一个是“'特定element'”?你如何认识它?按内容,按'id',按表中的位置?你想改变风格的情况是什么? – Teemu

+0

被内容认识,对不起,现在已经提到了。没有一个元素具有与它们相关联的id,只有表格。 – user10319

+0

看起来想要的单元格也被位置识别,它总是可以在第5列找到。您可以使用'#weather.rows [r] .cells [4]'遍历单元格,将'textContent's和单元格一个二维数组,对数组进行排序(如果是数字,则使用自定义排序函数),最后从'array [0] [1]'中选取你的单元格并更改样式。 – Teemu

回答

1

请检查jQuery的promisedone方法

这两种方法,可以添加事件,并给功能,动态创建的对象

+0

我不能使用jQuery这个,可悲的。但是,谢谢, – user10319

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 
}