[英]Am I using indexof correctly?
我正在嘗試使用indexof告訴我字符串是否出現在頁面上。
下面的函數應該循環瀏覽表單中的所有復選框(名稱=“ comment”),以檢查文檔其余部分中每個復選框的值(只是因為我無法弄清楚如何僅搜索一個跨度)。 如果發現字符串值在頁面的其他位置存在,則該復選框將更改css樣式。
function loop() {
var comment=document.forms[0].comment;
var ii;
for (ii=0;ii<comment.length;ii++) {
str=comment[ii].value;
id = comment[ii].id;
if(document.body.innerHTML.toString().indexOf(str) !=-1)
{
document.getElementById(id).style.visibility = "hidden";
}
}
}
結果是所有復選框都變為“隱藏”。 我以為問題是復選框在HTML中找到了自己的值,但是當我搜索廢話時也會發生同樣的情況。
我使用indexof錯誤嗎? 誰能指出如何以及在哪里? 我不想使用window.find。
詳細說明:復選框1的值為“ A IS FOR APPLE”。 檢查頁面上的字符串“ A IS FOR APPLE”。 如果找到,請隱藏復選框1。 轉到復選框2並重復。
如果我了解您要做什么,我認為更好的方法應該是這樣的:
function loop() {
var inputs = document.getElementsByTagName("input");
var span = document.getElementsById("txtHint");
for(var i = 0; i < inputs.length; i++) {
//Let's check only the checkbox with the name comment
if(inputs[i].name == "comment" && inputs[i].value == span.innerText) {
inputs[i].style.visibility = "hidden";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.