簡體   English   中英

我是否正確使用indexof?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM