我试图让所有的类名以“物品”,如果每一个类名的innerHTML的通过循环与给定的字符串检查。但是,即使条件为真,没有什么是如果条件发生英寸
我已经使用JavaScript实现,一切工作除了getElementsByClassName方法是行不通的
function clearAndAdd(){
var texter = document.getElementById("textBox").value;
if (texter != ""){
var allList = [];
document.getElementById("textBox").value = "";
created = 'deleteCurrent("'+texter+'")';
document.getElementById("lister").innerHTML = document.getElementById("lister").innerHTML+"<li class='items' onclick='"+created+"'>"+texter+"<span></span></li>";
document.getElementById("textBox").focus();
}
}
function deleteCurrent(text){
var allList = [];
var list = document.getElementsByClassName("items");
for(var i=0; i<list.length; i++){
var value = list[i].innerHTML;
if (value == text){
document.getElementById("output").innerHTML = value;
break;
}
}
}
<!-- HTML code -->
<body>
<div class="input-categories">
<ul id="lister">
</ul>
<input type="text" id="textBox" onblur="clearAndAdd();" />
</div>
<div id="output">
</div>
</body>
当我运行与传递文本字符串的代码......即使值和文本都是相同的,如果不执行的条件。谁能帮我这个
通过list[i].innerHTML
返回的内容包含<span>
标签,所以很明显它永远不会匹配您要查找的文字。
相反innerHTML
的使用textContent
属性:将刚刚返回文本内容:
var value = list[i].textContent;