根据数组JS中的值创建一个按钮

时间:2015-11-25 23:24:50

标签: javascript arrays dom

基本上,我用JS创建了一个数组,它根据用户选择动态填充。现在,我希望根据天气显示一个按钮,或者不存储数组内的值。我似乎无法做到这一点,即使数组中包含必需的值。如果此类信息有所不同,则阵列和按钮创建都是同一脚本的一部分。 我的代码是这样的:

array = [];
//somewhere along the way it get's filled up...
//...
if (array.indexOf("anItem") == true){
var btn = document.createElement('button');
btn.innerHTML = "Text";
btn.setAttribute('id', 'button2');
paragra.appendChild(btn);
}

我做错了什么,对我有希望吗?

2 个答案:

答案 0 :(得分:3)

更改行
if (array.indexOf("anItem") == true){

if (array.indexOf("anItem") != -1){

如果还有其他问题,请告诉我们。 indexOf()返回数组中值的位置,如果找不到则返回-1。

答案 1 :(得分:1)

这将有效: -

array = [];

if(array.indexOf("anItem") != -1){
  //Item available
}else{
  // Item not available
}

indexOf返回数组中Item的索引,如果找不到Item,则返回-1。上面的代码会检查indexOf("anItem")是否返回-1

修改

BTW,名为includes()的方法是ECMAScript 7的一部分。请参阅this。但是,ECMAScript 7缺乏浏览器支持。