我有从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