亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 indexOf 匹配的 JS 代碼是如何工作的?

使用 indexOf 匹配的 JS 代碼是如何工作的?

忽然笑 2022-01-20 20:45:42
我已經設法將一些 JS 復制到我的文檔中,并且可以正常工作。但我不完全明白它是如何做到的。它是一種搜索功能,用于匹配表中的數據并隱藏任何不匹配的行。但我不明白實際搜索和匹配的活動代碼行。有人會解釋嗎?$('#searchBar').keyup(function() {  searchFunction($(this).val());});function searchFunction(value) {  $('#results tr').each(function() {    var found = 'false';    $(this).each(function() {      if ($(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0) {        found = 'true';      }    });    if (found === 'true') {      $(this).show();    } else {      $(this).hide();    }  })};這是我無法理解的這條線:if ($(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0) {  found = 'true';}我了解它如何將變量更改為 true,但我不明白它如何將表行中的數據與輸入的值相匹配。
查看完整描述

3 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

它將您發送給函數的值轉換為小寫,然后查看行中的數據。它也將其轉換為小寫,并查看是否使用 indexof 匹配,這在此處進行了介紹:如何在 JQuery 中使用 IndexOf


基本上,indexOf() 方法返回指定值在字符串中第一次出現的位置。如果要搜索的值不存在,則返回 -1。


考慮搜索“測試”


var str = "Hello this is a test";

var n = str.indexOf("test");

n 的結果將是:16,ergo,就像在您的腳本中一樣,大于 0...并且“找到”


查看完整回答
反對 回復 2022-01-20
?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

從搜索欄按鍵事件將被觸發,搜索欄的值將傳遞給搜索功能


$("#searchBar").keyup(function() {

  searchFunction($(this).val());

});


function searchFunction(value) {

  //value will contain the value of search bar

  $("#results tr").each(function() {

    //assuming value is not there in tr

    var found = "false";

    //now searching for each tr for value

    $(this).each(function() {

      //converting to lower case and comparing each value with searchbar value

      if (

        $(this)

          .text()

          .toLowerCase()

          .indexOf(value.toLowerCase()) >= 0

      ) {

        found = "true";

      }

    });

    //actual showing/hiding row

    if (found === "true") {

      $(this).show();

    } else {

      $(this).hide();

    }

  });

}

如果需要有關https://www.w3schools.com/jsref/jsref_indexof.asp @MattCouthon索引的更多信息, 請告訴我您是否需要其他任何信息


查看完整回答
反對 回復 2022-01-20
?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

它的作用是

對于我的表中的每一行“結果”如果我以小寫形式查看的所有這些值之一等于我在“searchBar”中以小寫形式輸入的值,不止一次,那么我找到了它,所以找到了=“真”


查看完整回答
反對 回復 2022-01-20
  • 3 回答
  • 0 關注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號