gpt4 book ai didi

javascript - 为什么要添加多个类?

转载 作者:行者123 更新时间:2023-12-01 01:35:53 26 4
gpt4 key购买 nike

我正在尝试添加一个具有左边框的类,该类的左边框颜色为绿色、橙色或红色,具体取决于某些 json。这 3 个级别分别为简单、中等、困难。

$.getJSON("http://example.com/wp-json/wp/v2/posts", function(data){
var fetch_info = '';
$.each(data, function(key, value){
$('.result').append("<section>" + value.title.rendered + value.content.rendered + "</section>");
if (value.acf.sick === "Easy") {
$('section').addClass('easy');
}
if (value.acf.sick === "Medium") {
$('section').addClass('medium');
}
if (value.acf.sick === "Hard") {
$('section').addClass('hard');
}
});
});

这是我收到的 json:

acf {1} 生病:很难

生病可以分为简单、中等和困难,所以我想:

if (value.acf.sick === "Easy") {
$('section').addClass('easy');
}

只会将类 easy 添加到 value.acf.sick === "Easy"的部分,但由于某种原因,我的 HTML 看起来像这样......

<section class="hard easy medium">...</section>
<section class="easy hard medium">...</section>
<section class="hard easy medium">...</section>
<section class="easy medium">...</section>
<section class="medium">...</section>
<section class="medium">...</section>

所有第一个类都是正确的,但由于某种原因它添加了多个类,我似乎不明白为什么?

最佳答案

您在这段代码中所做的就是选择所有节元素,并附加当前的。虽然您只想操作当前的 jQuery 对象

$('section').addClass('hard');

在第一个循环中,这将选择唯一的节标记。在第二个循环中,它将选择两个节标签。在第三个...

尝试用 jQuery 对象来思考。首先创建一个 jQuery 对象 并将其附加到现有的 HTML 元素。然后插入。您可以选择直接附加或稍后附加。

$.getJSON('http://example.com/wp-json/wp/v2/posts', function(data){
var fetch_info = '';

$.each(data, function(key, value){
// create a jQuery object and append it to a HTML element
var section = $('<section>', {
text: value.title.rendered + value.content.rendered
}).appendTo('.result');

// Add a class based on the JSON value
if (value.acf.sick === 'Easy') {
section.addClass('easy');
}
else if (value.acf.sick === 'Medium') {
section.addClass('medium');
}
else if (value.acf.sick === 'Hard') {
section.addClass('hard');
}

// or append it later
// $('.result').append(section);
});
});

关于javascript - 为什么要添加多个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52829052/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com