我有一个函数,检查div,如果它存在它填充与JSON数组匹配的数据。 Div和数据具有相同的密钥,所以我希望能够将这些字符串放在一个字符串中,以获得更优雅的解决方案。但是,试图将字符串元素应用于数据键的最后一个元素似乎不起作用。我得到“无法读取属性‘0’的未定义”传递字符串元素到数据键
原始代码:
$.getJSON('myDataUrl', function(data) {
if ($("#title").length){document.getElementById("title").innerHTML=data.title};
if ($("#noun").length){document.getElementById("noun").innerHTML=data.noun};
if ($("#_id").length){document.getElementById("_id").innerHTML=data._id};
if ($("#owner_id").length){document.getElementById("owner_id").innerHTML=data.owner_id};
});
更“优雅”的解决方案,我试图达到:
$.getJSON('myDataUrl', function(data) {
var contentString = "name,noun,_id,owner_id";
var splitContent;
splitContent = contentString.split(",");
for(i = 0; i < splitContent.length; i++)
{if ($("#" + splitContent[i]).length){
document.getElementById(splitContent[i]).innerHTML=data.splitContent[i];
};
}
你并不需要检查的长度,如果使用jQuery – 2014-12-01 19:18:51
我去这个公认的答案,以检查是否一个div存在http://stackoverflow.com/questions/31044/is-there-an-exists-function-for-jquery – 2014-12-01 19:24:46
你不需要检查使用jQuery的元素存在,因为空的jQuery对象仍然可以处理而不会抛出错误 – 2014-12-01 19:26:34