【问题标题】:DOM calling objectsDOM 调用对象
【发布时间】:2015-12-17 05:45:50
【问题描述】:

我尝试过使用调试器,但仍然不明白为什么无论我输入什么,这个函数都会打印出数组中的第一个对象。

我想要做的是遍历每个数组元素,如果来自文本框的输入等于名称属性之一,则打印该名称的信息。

我想到了一个简单的 for 循环,它检查文本框中的输入是否等于任何名称属性,然后 console.log 该数组元素将起作用。

HTML:

<script type = "text/javascript" src="js/ObjectTest.js"></script>
<input type = "text" name = "name" id = "name"> </input>
<button type = "submit" id = "submit" onclick = "findStudent()">Find Student </button>

Javascript:

var registeredStudents = [
  {name: "Matthew", GPA: 5.0, Faculty: "Science", Major: "Cognitive Systems"},
  {name: "Rohit", GPA: 5.0, Faculty: "Science", Major: "Micro-Biology"},
  {name: "Marcel", GPA: 5.0, Faculty: "Engineering", Major: "Undeclared"},
  {name: "Louis", GPA: 5.0, Faculty: "Engineering", Major: "Mechanical Engineering"},
  {name: "Rob", GPA: 5.0, Faculty: "Engineering", Major: "Mechanical Engineering"}
];

function findStudent(){
  var submit = document.getElementById('name');
    for (var i = 0; i < registeredStudents.length; i++){
      if (submit.value = registeredStudents[i].name){
        console.log(registeredStudents[i]);
        break;
      } else if (submit.value != registeredStudents[i]){
        console.log("Not a registered student");
      }
    }
}

【问题讨论】:

    标签: javascript object dom


    【解决方案1】:

    你如果条件不对,应该是==而不是=

    函数 findStudent(){ var submit = document.getElementById('name'); for (var i = 0; i

    【讨论】:

    • 感谢工作。我能问你为什么 == 而不是 = 吗?
    • @Siunami == 是比较运算符,= 是赋值运算符
    猜你喜欢
    • 2013-09-08
    • 1970-01-01
    • 2012-08-29
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 2012-03-29
    • 2012-01-07
    相关资源
    最近更新 更多