我想做这样的事情:
<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'));
这可能吗?做这个的最好方式是什么 ?如何做到这一点?
最佳答案
您可以使用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 数据属性可能是更好的解决方案。
关于javascript - JQuery,页面加载后加载元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14585723/