我正在尝试将多个类从 JSON 文件添加到我在同一函数中使用 Jquery 创建的 HTML 元素。问题是所有类(class)都没有通过。 一些 JSON 数据部分(项目)有多个类,它们被设置在一个数组中。 HTML 部分已创建并获取 dat.location 但未获取任何类。我认为我插入类(class)的方式有问题但不确定是什么。
如何将类插入函数中的 txtp 变量?
function CreateContent(data) {
for (var i = 0; i < data.length; i++) {
var dat = data[i];
var txtp = $('<p class="column" href="#">' + dat.location + '</p>');
$(txtp).addClass(dat.items1);
$(txtp).addClass(dat.items2);
$(txtp).addClass(dat.items3);
$(".positionInHtml").append(txtp);
}
}
这是 JSON 数据文件包含的内容,我简化/更改了这个问题的变量名称。
{
"Places": [
{
"location": "Name1",
"items1": [ "1A" ],
"items2": [ "1B","11B" ],
"items3": [ "1C" ]
},
{
"location": "Name2",
"items1": [ "2A" ],
"items2": [ "2B" ],
"items3": [ "2C","22C" ]
}
}
最佳答案
你的问题是因为你每次使用它时都从 txtp
创建新的 jQuery 对象,所以没有任何更改被保留。
要解决此问题,请创建一次对象,然后根据需要修改/附加它:
function CreateContent(data) {
for (var i = 0; i < data.length; i++) {
var dat = data[i];
var $txtp = $('<p class="column" href="#">' + dat.location + '</p>').appendTo('.positionInHtml');
$txtp.addClass(dat.items1);
$txtp.addClass(dat.items2);
$txtp.addClass(dat.items3);
}
}
关于javascript - 将类添加到 Jquery HTML 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48659243/