Javascript div的构造函数返回未定义的元素
我有一个页面,我正试图使用构造函数重构,而不是预加载几个隐藏的div。我以前从未使用过构造函数,我将以此作为指导。唯一的区别是我的div是在页面加载时创建的 数据存储为JSON,我通过匹配ID找到正确的对象索引。当匹配对象中的数据传递给构造函数时,控制台中的每个变量都未定义,我无法找出原因 data.jsonJavascript div的构造函数返回未定义的元素,javascript,html,json,Javascript,Html,Json,我有一个页面,我正试图使用构造函数重构,而不是预加载几个隐藏的div。我以前从未使用过构造函数,我将以此作为指导。唯一的区别是我的div是在页面加载时创建的 数据存储为JSON,我通过匹配ID找到正确的对象索引。当匹配对象中的数据传递给构造函数时,控制台中的每个变量都未定义,我无法找出原因 data.json { “任务”:[ {“id”:“miss1”, “内容”:{ “名称”:“任务1”, “desc”:“这是任务的字符串描述”, “longDesc”:“这是任务的lond描述,以防短的任务
{
“任务”:[
{“id”:“miss1”,
“内容”:{
“名称”:“任务1”,
“desc”:“这是任务的字符串描述”,
“longDesc”:“这是任务的lond描述,以防短的任务在其他地方使用。”,
“img”:https://via.placeholder.com/250",
“视频”:https://via.placeholder.com/840x430"
}
},
...
]
}
index.html
任务1
所以有几点是不正确的:
构造函数是“有点”正确的,唯一的区别是您应该做的是将发送到“card.create(…)”的参数移动到“new card(…)”
…=争论
上面是一个元素tho,因为您想使用循环,所以card方法中的几乎所有代码都应该移到create方法中。Ofc这不是一个好方法,但它是解决您当前遇到的问题的方法。没有值传递给Card()
首先,如果您已经在使用jQuery,则不需要处理appendChild
。其次,Car
constructor函数需要三个参数,但是你调用它时没有参数。啊……愚蠢的错误。我将新卡(…)
移动到循环中,并将JSON数据放入其中,它就工作了。谢谢