JQuery,加载页面后加载元素

时间:2013-01-29 14:53:54

标签: javascript jquery html

我想做这样的事情:

<img src="" class="after-all" data="/assets/huge-bg.png" />
<div class="after-all" data="/actions/div-content.html"></div>

在JS中

$("after-all").loadMissing();

我认为最好的方法是使用识别方法构建一个插件:

if (img) $(this).attr('src', $(this).attr('data'));
if (div) $(this).load($(this).attr('data'));

这可能吗?做这个的最好方式是什么 ?怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用is()

$.fn.loadMissing = function() {
    return this.each(function() {
        var $this = $(this);
        if ($this.is("img")) {
            $this.attr("src", $this.attr("data"));
        } else if ($this.is("div")) {
            $this.load($this.attr("data"));
        }
    });
};

请注意,您应使用除data之外的其他属性来存储此信息。像data-content这样的HTML5数据属性可能是更好的解决方案。