javascript - JQuery,页面加载后加载元素

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

这可能吗?做这个的最好方式是什么 ?如何做到这一点?

最佳答案

您可以使用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/

相关文章:

javascript - Textarea 将文本拆分为行和列

javascript - fancybox 弹出窗口中的链接

javascript - 如何从 HTML 中显示的 json 对象中删除逗号?

javascript - 如何防止使用jquery向两个以上元素添加类?

jquery - 相对于父级的绝对定位

html - 是否可以 float 居中图像?

javascript - WinJS - 如何访问 LED 闪光灯(在 Windows Phone 上)?

javascript - Web 编程中类似 "Stay on Top"的东西?

Golang 中的 JavaScript getTimezoneOffset() 方法

javascript - 根据选择更新选项