我有從ajax響應動態生成的跨度元素。我試圖使用下面的代碼檢測跨度值的更改,它似乎在固定元素的jsfiddle中工作,但不是在動態生成數據的真實場景中。量程值用我試圖檢測的setInterval函數數量增量進行更新。動態檢測跨度元素的變化
我正在採取的步驟是 - 會感謝一些建議,爲什麼我的代碼不會工作?
- 對於帶有「分鐘」 <一個ID的所有元素 - 這將是我的span元素
- 獲取ID的
- 檢測的步驟與ID的所有元素的任何變化2
- 當變化檢測,得到span元素值
- 檢查量程值是否大於00即01(實際上這是一個微小的值)
- 如果滿足步驟5的條件,則應用css
- 如果來自步驟5的條件沒有被滿足,然後除去CSS
$('[id*="minutes"]').each(function() {
spanid = $(this).attr('id');
console.log(spanid);
$("#"+spanid).on('change',function(){
spanval = $(this).text();
id = $(this).attr('id').charAt(0);
if(spanval > 00) {
$('#results').text(span);
$("#"+id+"-wt-html").css({"background":"#FFE95B", "color":"red"});
} else {
$("#"+id+"-wt-html").removeAttr("style")
}
});
});
樣品HTML
<td id="9-wt-html">
<div id="9-wt-ajax">
<span id="9-hours">00</span>:
<span id="9-minutes">15</span>:
<span id="9-seconds">12</span>
</div>
</td>
上面跨度元件的AJAX調用之前創建使用下面的固定腳本:
for (var key in skills_arr) {
//console.log(skills_arr[key]+" - "+key);
$('#Table > tbody:last-child').append('<tr><td>'+skills_arr[key]+'</td><td id="'+key+'-cw-html"><div id="'+key+'-cw-ajax"></div></td><td id="'+key+'-aa-html"><div id="'+key+'-aa-ajax"></div></td><td id="'+key+'-wt-html"><div id="'+key+'-wt-ajax"><span id="'+key+'-hours">00</span>:<span id="'+key+'-minutes">00</span>:<span id="'+key+'-seconds">00</span></div></td><td id="'+key+'-op-html"><div id="'+key+'-op-ajax"></div></td></tr>');
}
請分享你的HTML。 –
如果您在生成跨度之前添加它將無法工作 –
跨度創建後,我在腳本文件的底部添加了它,但我沒有經過第2步 – user3436467