2014-02-06 45 views
0

使用jQuery 2.0.3,我在試圖做一些事情,像這樣的問題:使用.load與元素的屬性

$("[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

您在第一部分缺少一個報價:'$(「[data-load])' –

回答

1

爲什麼$("[data-load]) - 你忘了一個更"

1

分辨率:Jeez,我是一個笨蛋。我一直在尋找這是什麼:

$("[data-load]").each(function (index) { 
    $(this).load($(this).attr("data-load")); 
}); 
0

如果你想有一個data-load屬性,不管其值的所有元素,你有正確的選擇:

$("[data-load]") 

然而,問題是當你正在調用​​函數;你需要一種方法來引用特定的元素。我建議使用.each()

$('[data-load]').each(function() { 
    $(this).load($(this).attr('data-load')); 
}); 

即通過每個匹配選擇,分別要求他們​​並傳遞data-load屬性的元素的迭代價值針對特定元素它。