【问题标题】:How to select specfic data from a array html如何从数组html中选择特定数据
【发布时间】:2021-02-24 19:04:16
【问题描述】:

我想显示我有如下数组的特定数据

 let questions = [
   {
   numb: 1,
   question: "What does HTML stand for?",
   answer: "Hyper Text Markup Language",
   options: [
   "Hyper Text Preprocessor",
   "Hyper Text Markup Language",
   "Hyper Text Multiple Language",
   "Hyper Tool Multi Language"
   ]
   },
   {
   numb: 2,
   question: "What does CSS stand for?",
   answer: "Cascading Style Sheet",
   options: [
   "Common Style Sheet",
   "Colorful Style Sheet",
   "Computer Style Sheet",
   "Cascading Style Sheet"
   ]
   },
   {
   numb: 3,
   question: "What does PHP stand for?",
   answer: "Hypertext Preprocessor",
   options: [
   "Hypertext Preprocessor",
   "Hypertext Programming",
   "Hypertext Preprogramming",
   "Hometext Preprocessor"
   ]
   },

从此我只想显示所有问题和答案。 喜欢

HTML 代表什么 - 超文本标记语言

CSS 代表什么 - 层叠样式表

PHP 代表什么 - 超文本预处理器

我是这个任何一个帮助打印所有问题答案的菜鸟

【问题讨论】:

  • 尊敬的回答是什么意思?此外,您不能将 JavaScript 放在 HTML 中而不将其放在 scrip 标签内,而且实际上这不是 2021 年的做法。在我们讨论您的具体问题之前,我认为您应该学习一些 JavaScript 基础知识。
  • 我要显示所有问题和答案
  • 好的,所以我认为您的意思是您希望使用对象数组作为数据源,然后生成相应的问题以及每个问题的潜在答案。它比您所展示的要多得多,而且这种问题并不适合 Stack Overflow。我们希望您在发布之前进行研究。你需要学习很多关于循环遍历数组和对象、创建动态元素以及附加到文档中的知识。
  • 我知道没有人做我的工作。我使用 html 和 css 搜索并进行了测验。但我是文学系的学生,对此我不太了解。我正在工作 8 小时来修复一个小错误。最后我找到了这个论坛。你知道解决这个问题吗?请帮助我。
  • 虽然我理解您的沮丧,但您的代码不需要简单的修复。您尝试的两小段 JavaScript 不正确。您需要的是创建一个完整的解决方案——这不是我们在这里所做的。

标签: javascript html jquery arrays


【解决方案1】:

如果您只想打印每个对象的问题和答案,您可以使用forEach,如下所示。

let questions = [{
    numb: 1,
    question: "What does HTML stand for?",
    answer: "Hyper Text Markup Language",
    options: [
      "Hyper Text Preprocessor",
      "Hyper Text Markup Language",
      "Hyper Text Multiple Language",
      "Hyper Tool Multi Language"
    ]
  },
  {
    numb: 2,
    question: "What does CSS stand for?",
    answer: "Cascading Style Sheet",
    options: [
      "Common Style Sheet",
      "Colorful Style Sheet",
      "Computer Style Sheet",
      "Cascading Style Sheet"
    ]
  },
  {
    numb: 3,
    question: "What does PHP stand for?",
    answer: "Hypertext Preprocessor",
    options: [
      "Hypertext Preprocessor",
      "Hypertext Programming",
      "Hypertext Preprogramming",
      "Hometext Preprocessor"
    ]
  }
];

questions.forEach(question => console.log(`${question.question} - ${question.answer}`));

至于将其添加到 HTML 部分,您可以创建一个 documentFragment 并通过 appendChild 将段落标签附加到它。从那里只需将片段附加到部分标签。

let questions = [{
    numb: 1,
    question: "What does HTML stand for?",
    answer: "Hyper Text Markup Language",
    options: [
      "Hyper Text Preprocessor",
      "Hyper Text Markup Language",
      "Hyper Text Multiple Language",
      "Hyper Tool Multi Language"
    ]
  },
  {
    numb: 2,
    question: "What does CSS stand for?",
    answer: "Cascading Style Sheet",
    options: [
      "Common Style Sheet",
      "Colorful Style Sheet",
      "Computer Style Sheet",
      "Cascading Style Sheet"
    ]
  },
  {
    numb: 3,
    question: "What does PHP stand for?",
    answer: "Hypertext Preprocessor",
    options: [
      "Hypertext Preprocessor",
      "Hypertext Programming",
      "Hypertext Preprogramming",
      "Hometext Preprocessor"
    ]
  }
];

const section = document.getElementById('section');

const fragment = document.createDocumentFragment();

questions.forEach(question => {
  const paragraph = document.createElement('p');
  
  paragraph.innerText = `${question.question} - ${question.answer}`;
  
  fragment.appendChild(paragraph);
});

section.appendChild(fragment);
<section id="section"></section>

【讨论】:

  • 我如何在 html 部分打印这个,感谢这些指南
  • 虽然我知道您想提供帮助,但此类问题不属于 SO,我们倾向于不回答它们以避免出现更多此类问题。我们有关于如何提问以及应该问什么类型的问题的指南。
  • 我已投票结束该问题,并建议您也这样做。但是,通过投票,我们确实可以阻止对糟糕问题的回答。
  • 很遗憾,我不能同意你的后半部分。如果某人有解决问题的方法,并且确实提供了可靠的答案,则不应受到惩罚。您实际上是在向其他用户发怒,因为您不同意问题的提出方式。至于 OPs 的问题,我看到的情况更糟。他提供了一些代码,尽管他不够清楚,但仍然认为值得回应。作为初学者,他还能如何学习?
猜你喜欢
  • 1970-01-01
  • 2016-04-17
  • 2020-03-20
  • 1970-01-01
  • 1970-01-01
  • 2021-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多