微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript DOM:如何告诉JS createElement'p'根据json数组中的值说些什么?

如何解决JavaScript DOM:如何告诉JS createElement'p'根据json数组中的值说些什么?

如果JSON中的布尔数组值表示“ 1”并且表示已故,则说“ 0”,我如何告诉JS表示生存的? **如果JSON中的值“ survived”为1或为“ deaseded”,则我需要创建一个表示“ survived”的p元素。 这是JSON中众多的人之一:

'use strict';
let passengers = [{
        "PassengerId": 1,"Survived": 0,"Pclass": 3,"Name": "Braund,Mr. Owen Harris","Sex": "male","Age": 22,"SibSp": 1,"Parch": 0,"Ticket": "A/5 21171","fare": 7.25,"Cabin": "","Embarked": "S"
    },//this is my DOM js:

 'use strict';
const seccCards = document.querySelector('#sctCards');
const inputFiltro = document.querySelector('#txtFiltro');
const imprimirCards = () => {
    seccCards.innerHTML = '';
    let filtro = inputFiltro.value.toLowerCase();
    passengers.forEach(obj_passenger => {
        if (obj_passenger.Name.toLowerCase().includes(filtro) || obj_passenger.PassengerId.toLowerCase().includes(filtro)) {
            let card = document.createElement('div');
            card.classList.add('card');
            let passengerbeen = document.createElement('h2');
            passengerbeen.innerText = obj_passenger.Name;
            let passengerF = document.createElement('p');
            if (obj_passenger.Survived == 1) {
                passengerF = sobrevivio;
            } else {
                passengerF = fallecido;
            }
            passengerF.innerHTML = obj_passenger.Survived;

            card.appendChild(passengerbeen);
            card.appendChild(passengerF);
            seccCards.appendChild(card);
        }

    });
};
inputFiltro.addEventListener('keyup',imprimirCards);
imprimirCards();


解决方法

您可以使用带有变量的简单if语句。如果它们仍然存在,请将变量设置为"survived",否则将其设置为"deceased"。与其直接设置p,不如根据变量设置它的innerHTML。

let passengerF = document.createElement('p');
var survivalStatus;
if (obj_passenger.Survived == 1) {
    survivalStatus = "sobrevivio";
} else {
    survivalStatus = "fallecido";
}
passengerF.innerHTML = survivalStatus;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。