Javascript JSON中的jquery.addClass是';工作不正常
我有一个json变量,并使用Javascript JSON中的jquery.addClass是';工作不正常,javascript,jquery,html,css,json,Javascript,Jquery,Html,Css,Json,我有一个json变量,并使用jquery.each()编写html标记并为对象中的add类创建循环。如果你看我的代码,它不能正常工作。如何修复它们 var db={ “类”:[ { “外观”:[“红色背景”、“白色文本”] }, { “外观”:[“黄色背景”、“黑色文本”] }, { “外观”:“红色” }, { “外观”:“黄色” }, { “外观”:” } ] } $.each(db.class、函数(键、数据){ 控制台日志(数据); $('main')。追加('text'); 对于(i
jquery.each()
编写html标记并为对象中的add类创建循环。如果你看我的代码,它不能正常工作。如何修复它们
var db={
“类”:[
{
“外观”:[“红色背景”、“白色文本”]
},
{
“外观”:[“黄色背景”、“黑色文本”]
},
{
“外观”:“红色”
},
{
“外观”:“黄色”
},
{
“外观”:”
}
]
}
$.each(db.class、函数(键、数据){
控制台日志(数据);
$('main')。追加('text');
对于(i=0;i而言,问题在于,您正在传递一些数组和一些字符串,因此当您有一个数组时,这些项都在其中,即:
["red-bg", "white-text"]
[0] = "red-bg"
[1] = "white-text"
但当它是一个字符串时,每个项目都是一个字母,即:
"red"
[0] = "r"
[1] = "e"
[2] = "d"
因此,您只需将类
数组更新为:
"class" : [
{
"appearance": ["red-bg", "white-text"]
},
{
"appearance": ["yellow-bg", "black-text"]
},
{
"appearance": ["red"]
},
{
"appearance": ["yellow"]
},
{
"appearance": [""]
}
]
由于要将类添加到相同的.box
,因此还必须更新每个函数
$('.box:last-child').addClass(data.appearance[i]);
现在,您正在将数据.appearance
添加到上次插入的框中
它会起作用的!请看JSFIDLE首先,您需要将最后三项放入一个数组中。接下来,请描述确切的问题,我确信修复不会满足您的要求。当您将类添加到每个循环中的每个.box
。当我使用“chrome-允许从文件访问文件”在本地进行测试时出于某些原因。它没有在我的页面上显示任何对象,但当我转到控制台时,json正在工作。但它没有在我的页面上生成任何对象。请添加更多信息,您的代码以什么方式不工作?您必须将:last child
添加到您的.box
,就像我在这里所做的那样是的!它在JSFIDLE上工作!哈哈谢谢您的帮助帮助。但当我出于某种原因使用“chrome-允许从文件访问文件”在本地进行测试时。这是一个显示空白页。这个答案解决了chrome的问题,但如果在Firefox中打开它,它会起作用。您也可以使用pythonpython-m SimpleHTTPServer
(或rails或…)在文件夹上启动http服务器然后这个错误应该消失:)这是一个与chrome相关的错误,这个网站对此做了一些解释。问题解决:)