我想做这样的事情:
<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'));
这可能吗?做这个的最好方式是什么 ?怎么做?
答案 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数据属性可能是更好的解决方案。