没有得到已添加列表的回复

时间:2018-06-05 11:27:14

标签: javascript

我已写信输入动物名称

var name = document.getElementById('name').value;
var node = document.createElement("li");
var textnode=document.createTextNode(name);
node.appendChild(textnode);
document.getElementById("demo").appendChild(node);

如果已输入列表中的动物名称,我试图提醒我。

if(document.createElement(name !== null)){
    alert();

这是html部分         

    <ul id="demo">List Of Animals Already Present</ul>

1 个答案:

答案 0 :(得分:0)

好吧,你可以存储已经在数组中创建的动物,然后遍历每个动物以检查名称是否已经存在,如果没有,则创建一个新节点,就像你正在做的那样。

您尝试使用的if(document.createElement(name !== null))语句不起作用,基本上它是说要创建一个新元素,但该元素将是truefalse,因为返回name !== null,因此不会创建或检查任何内容。

这里的代码可能对您有所帮助:

&#13;
&#13;
var animals = [];
document.getElementById('btn').onclick = function(){
  var name = document.getElementById('name').value;
  var alreadyExist = false;
  
  for (var i = 0; i < animals.length; i++){
    if (name == animals[i]){
      alreadyExist = true;
      break;
    }
  }
  if (!alreadyExist){
      animals.push(name);
      var node = document.createElement("li");
      var textnode = document.createTextNode(name);
      node.appendChild(textnode);
      document.getElementById("demo").appendChild(node);
      document.getElementById('name').value = '';
   }else{
      alert('animal already in the list');
   }
}
&#13;
<input id="name" value="" placeholder="Animal name..."/>
<input type='button' id='btn' value='create'/>
<ul id="demo">List Of Animals Already Present</ul>
&#13;
&#13;
&#13;