1

我想做这样的事情:

<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'));

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

4

1 回答 1

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来存储此信息。像 HTML5 数据属性这样data-content的可能是更好的解决方案。

于 2013-01-29T14:57:03.650 回答