使用jQuery 2.0.3,我在尝试做类似的事情时遇到了问题:
$("[data-load]").load($(this).attr("data-load"));"
相关的HTML如下所示:<div data-load="markup/fonts.html"></div>
我可以从属性中检索正确的值,但我不能让它加载任何东西。更重要的是,如果我尝试$("[data-load]").load($(this).attr("data-load").toString());
,我会得到Error: Unable to get value of the property 'toString': object is null or undefined
任何线索?
编辑:抱歉,语法正确无误。在这里输入时错了。
决议:Jeez,我是个傻瓜。我在寻找什么:
$("[data-load]").each(function (index) {
$(this).load($(this).attr("data-load"));
});
答案 0 :(得分:1)
为什么$("[data-load])
- 您又忘了一个"
?
答案 1 :(得分:1)
决议:Jeez,我是个傻瓜。我在寻找什么:
$("[data-load]").each(function (index) {
$(this).load($(this).attr("data-load"));
});
答案 2 :(得分:0)
如果您想要所有具有data-load
属性的元素,无论其值如何,您都拥有正确的选择器:
$("[data-load]")
然而,问题是当你调用.load()
函数时;你需要一种方法来引用一个特定的元素。我建议使用.each()
:
$('[data-load]').each(function() {
$(this).load($(this).attr('data-load'));
});
遍历与选择器匹配的每个元素,单独调用它们上的.load()
并将该特定元素的<{1}}属性值传递给它。