if语句破坏.push方法
if statement breaking .push method
所以我循环通过一组JSON数组,然后循环通过每个单独的数组。
如果我删除两个If语句,它将在两个数据集中循环,并将"target"与两个"data"集一起追加,但与现在一样,它将只在第一个each循环中追加items.join。
案例内容首先是一个if循环,认为这很重要,但没有。
奇怪的是,consoleOut(像console.log)确实打印了我的东西,所以它实际上在JSON集中循环了两个数组。
$.each(data, function(keys, vals)
{
var items = [];
$.each(data[keys], function(key, val)
{
var currString = JSON.stringify(val);
switch (key)
{
case "ID":
consoleOut("ID: "+currString+" loaded");
break;
case "parentIDs":
consoleOut("parentIDs: "+currString);
break;
case "UID":
consoleOut("UID: "+currString);
UID = unquote(currString);
break;
case "title":
consoleOut("Title: "+currString);
items.push('<H1 class="' + key + '">' + unquote(currString) + '</H1>');
break;
case "img":
consoleOut("IMG: "+currString);
if ($(currString).val() !== '')
{
items.push('<IMG class="' + key + '" src='+currString+'></IMG>');
};
break;
case "text":
consoleOut("TXT: "+currString);
if ($(currString).val() !== '')
{
items.push('<P class="' + key + '">'+currString+'</P>');
};
break;
}
});
consoleOut("---------");
$('<DIV/>', {
'id': UID,
html: items.join('')
}).appendTo(target);
}
)
我想知道if语句是如何破坏我对主"items"数组的附加的。。
(当我一开始不字符串化val时,它会循环,但这是因为if语句当时为true,但当为false时停止工作。所以也许最好修改我的if语句,但我仍然困惑于.push是如何停止工作的?)
$(currString).val()
它表示您正在制作一个元素,并查看该元素的值属性。这是你真正想要的吗?我认为图像或文本没有价值。
我想你会想使用长度或html()
[EDIT]看着你的对象,你只想检查currString 的长度
if( currString && currString.length>0 ) {
这不是JSON,而是一个数组。
[{"ID":"1",
"parentIDs":null,
"UID":"home",
"title":"Home",
"text":"<3 here",
"img":"/favicon.ico",
"url":"home",
"cat_id":"1",
"view_id":"",
"css_id":null},
{"ID":"4",
"parentIDs":"home",
"UID":"home_info",
"title":"Info about Home",
"text":"Info about Home",
"img":"",
"url":"",
"cat_id":"",
"view_id":"",
"css_id":null}
]
你确定你的输入看起来不是这样的吗(即,是JSON)?
{ "data" : [{"ID":"1",
"parentIDs":null,
"UID":"home",
"title":"Home",
"text":"<3 here",
"img":"/favicon.ico",
"url":"home",
"cat_id":"1",
"view_id":"",
"css_id":null},
{"ID":"4",
"parentIDs":"home",
"UID":"home_info",
"title":"Info about Home",
"text":"Info about Home",
"img":"",
"url":"",
"cat_id":"",
"view_id":"",
"css_id":null}
] }
相关文章:
- Push方法显示错误
- 为什么push方法没有'在这种情况下不起作用:[].推
- Javascript:如何对属性变量(例如var.hello.push)执行数组方法?太习惯AS3了
- 向 Firebase “push” 方法添加时间戳
- Javascript/jQuery - “无法调用未定义的方法'push'”,而它是定义的
- 对象在节点js中没有方法push
- 为什么Javascript库对数组方法(push,slice等)有本地引用
- Javascript Array.push 方法问题
- push 方法将元素添加到数组中不起作用,同时获取具有相同类的元素的 ID 和值
- 为什么我的javascript .push方法添加了太多对象
- 为什么我的 push() 方法不断在我的数组中插入一个“未定义”的元素
- Javascript的优点:无法理解方法array.push
- if语句破坏.push方法
- javascript内部的push方法.每个循环只返回一个数组
- Javascript中使用数组的数组Push()方法
- 我如何直接赋值给数组,但在OOB异常上使用push方法
- JSON中的Push方法
- 为什么push方法在jQuery对象上工作?
- JavaScript数组原型,'this'没有'push'方法
- JavaScript push 方法更改值