对不好的标题感到抱歉,但我有类似下面的代码
$('[data-value]').each(function() {
var $this = $(this);
$this.val($this.data('value'));
});
与
<select data-value="14:00">
<option>12:00</option>
<option>13:00</option>
<option>14:00</option>
<option>15:00</option>
</select>
目标是轻松预先选择列表中的“数据值”。
除非在页面初始化后添加select元素,否则代码可以正常工作。
例如,这不起作用
$('body').append('<select data-value=yellow><option>black</option><option>yellow</option><option>red</option></select>');
那么,即使在页面初始化后添加DOM元素,我怎样才能使它工作?
由于
答案 0 :(得分:0)
好的,你可以使用类似的东西:
它会检查新的选择元素,如果找到一些没有“已处理”类的元素,它会处理它们。
function checkNewSelects() {
$('select').not(".processed").each(function() {
var $this = $(this);
$this.val($this.data('value'));
$this.addClass('processed');
});
setTimeout(checkNewSelects, 300);
}
setTimeout(checkNewSelects, 300);