2013-11-14 83 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 
}