【问题标题】:Search for text with javascript inside a div class [closed]在 div 类中使用 javascript 搜索文本 [关闭]
【发布时间】:2014-03-18 14:43:09
【问题描述】:

我想制作一个脚本,我可以在其中自动搜索某个字符串(没有文本框或任何东西,我想按下一个按钮,它会搜索单词“bear”,例如在 a 中)使用“document .getElementByClassName"...我的 C# 开发大脑开始寻找“内容”或“包含”之类的东西,但我失败得很厉害...谁能帮我提供示例代码?

提前致谢:)

【问题讨论】:

  • 您是否希望将搜索结果存储在变量中?还是您希望它以某种方式显示在屏幕上?
  • 基本上我想搜索某个字符串,如果它被脚本识别它应该做一些事情(例如显示一个消息框说“找到”)

标签: javascript search


【解决方案1】:

我建议使用 jquery 通过类名轻松获取元素并使用搜索值识别那些元素。比如:

var searchValue = "bear";

$(".ClassName").each(function(){
  if($(this).html().indexOf(searchValue) > -1){
     //match has been made
  }
});

如果您仅限于原生 javascript,这里有一个示例:

var els = document.getElementsByClassName("ClassName");
var searchValue = "bear";

for(var i = 0; i < els.length; i++){
  if(els[i].innerHTML.indexOf(searchValue) > -1){
    //match has been made   
  }
}

我认为您真正要寻找的是比较器String.indexOf(SearchValue) &gt; -1,它将确定元素的内容是否与您要查找的字符串匹配。请注意,它区分大小写。

【讨论】:

  • 你能发布一个vanilla javascript示例的例子吗?
【解决方案2】:

您正在寻找String.indexOf(string)JavaScript indexOf.

你可以这样做:

var elements = document.getElementsByClassName('class'); // get the elements

// loop through the elements
for (var i = 0; i < elements.length; i++) {
    if (elements[i].innerHTML.indexOf(search) > -1) {
        alert('found'); // popup
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-11
    • 2017-10-04
    • 2016-03-05
    • 1970-01-01
    • 2012-08-31
    • 2013-12-12
    • 1970-01-01
    相关资源
    最近更新 更多