Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON中的jquery.addClass是';工作不正常_Javascript_Jquery_Html_Css_Json - Fatal编程技术网

Javascript JSON中的jquery.addClass是';工作不正常

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

我有一个json变量,并使用
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中打开它,它会起作用。您也可以使用python
python-m SimpleHTTPServer
(或rails或…)在文件夹上启动http服务器然后这个错误应该消失:)这是一个与chrome相关的错误,这个网站对此做了一些解释。问题解决:)