首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery全局插件实例化

jQuery全局插件实例化
EN

Stack Overflow用户
提问于 2012-07-13 16:29:01
回答 1查看 175关注 0票数 0

很抱歉标题不好,但我有类似以下代码的内容

代码语言:javascript
复制
$('[data-value]').each(function() {
            var $this = $(this);
            $this.val($this.data('value'));
});

使用

代码语言:javascript
复制
<select data-value="14:00">
    <option>12:00</option>
    <option>13:00</option>
    <option>14:00</option>
    <option>15:00</option>
</select>

这样做的目的是在列表中轻松地预先选择“数据值”。

除了在页面初始化后添加select元素之外,代码运行得很好。

例如,这不会起作用

代码语言:javascript
复制
$('body').append('<select data-value=yellow><option>black</option><option>yellow</option><option>red</option></select>');

那么,即使我在页面初始化后添加了DOM元素,如何才能使其正常工作呢?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-13 17:09:02

好的,所以你可以使用类似这样的东西:

它检查新的select元素,如果找到一些没有“处理”类的元素,就对它们进行处理。

代码语言:javascript
复制
function checkNewSelects() {
    $('select').not(".processed").each(function() {
        var $this = $(this);
        $this.val($this.data('value'));
        $this.addClass('processed');
    });
    setTimeout(checkNewSelects, 300);
}
setTimeout(checkNewSelects, 300);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11466823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档