我有一个脚本,它将 li 元素添加到 ul 中,并根据用户在 select 元素中的选择为其分配一些属性。但是,我认为有必要确保 ul 中不存在 li 元素。但是,我不确定,但我认为数组没有为其分配变量,或者比较数组的 if 语句有问题。当然,我可能完全不在状态。我被难住了。
function anotherCounty(){
var newCounty = document.forms['newForm'].county.value;
var ul = document.getElementById("counties");
var items = ul.getElementsByTagName("li");
var itemArray = new Array();
for (var i = 0; i < items.length; i++){
itemArray.push(items[i]);
}
if (itemArray.indexOf(newCounty)<'0'){//I've also tried ==-1 and <0
var new_item = document.createElement("li");
new_item.id = "addCounty[]";
new_item.innerHTML = newCounty;
ul.insertBefore(new_item, ul.firstChild);
}
}
最佳答案
您正在将字符串与 DOM 元素进行比较。我认为这就是您真正需要的:
itemArray.push(items[i].value);
关于javascript - 检查 ul 中是否存在特定的 li 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14096233/