javascript - 使用 jQuery 突出显示搜索词,例如 Chrome

标签 javascript jquery

我最近用 jQuery 和一个突出显示插件做了一个非常简单的突出显示。它看起来像这样:

$('myButton').click(function() {

$('body').highlight($('#myInputText').val());

});

但我想知道我怎样才能像高亮显示一样在 Chrome 中显示,我的意思是每当我在文本框中输入一些字母而不提交时突出显示这些字母。我想也许可以使用 keyup 事件……有什么想法吗?

谢谢 Andy,我在您的代码中将“this[0]”更改为“search[i]”,如果只有一个“p”标签,它就可以工作

$(document).ready(function(){
  var search = ['p', 'div', 'span'];

  $("#highlighter").bind('keyup', function(e){
    var pattern = $(this).val();

    $.each(search, function(i){
        var str = search[i];        
        var orgText = $(str).text();

        orgText = orgText.replace(pattern, function($1){
          return "<span style='background-color: red;'>" + $1 + "</span>"
        });

        $(str).html(orgText);
    });    
  });
});

最佳答案

我用它做了快速练习,代码:

    $(document).ready(function(){
    var search = ['p', 'div', 'span'];

    $("#highlighter").bind('keyup', function(e){
    var pattern = $(this).val();

    $.each(search, function(i){
        var str = this[0];        
        var orgText = $(str).text();

        orgText = orgText.replace(pattern, function($1){
          return "<span style='background-color: red;'>" + $1 + "</span>"
        });

        $(str).html(orgText);
    });    
  });
});​​

链接:http://jsbin.com/amica3/edit

关于javascript - 使用 jQuery 突出显示搜索词,例如 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2551221/

相关文章:

javascript - 将JSP文件加载到Javascript中实现Fragments

Javascript/jquery 无法在其他文件中工作

asp.net-mvc-3 - MVC3 AJAX 级联下拉列表

javascript - 在加载存储在另一个文件中的消息内容时,在ajax中进行验证

javascript - 更改分页中选定的页面

javascript - 不同的类如何以下划线开头?

javascript - 找不到模块 : Error: Can't resolve '../fonts/fontawesome-webfont.eot'

javascript - 获取集合和子文档中所有键的名称

javascript - Angular Directive(指令) $http. http响应前后

当从下拉列表中选择一个值时,jQuery 使输入文本变为只读