jQuery全局插件实例化

时间:2012-07-13 08:29:01

标签: javascript-events jquery

对不好的标题感到抱歉,但我有类似下面的代码

$('[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元素,我怎样才能使它工作?

由于

1 个答案:

答案 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);