需要在搜索中突出显示字母[重复]

Posted

技术标签:

【中文标题】需要在搜索中突出显示字母[重复]【英文标题】:Need to high light letters on search [duplicate] 【发布时间】:2017-04-22 05:01:22 【问题描述】:

Here 是我搜索和工作良好的小提琴,但我想更改现有代码以突出显示字母背景而不是总单词。只有字母背景突出显示............

在此代码中进行更改............

$("#search").keyup(function() 
  value = $(this);
  if (value.val() == "") 
    $.each($("#ftz-table tbody tr td"), function() 
      $(this).css('background-color', 'rgba(0,0,0,0)');
    )
    return;
  
  $.each($("#ftz-table tbody tr td"), function() 
    if (!($(this).text().toLowerCase().indexOf($(value).val().toLowerCase()) == -1)) 
      $(this).css("background-color", "red");
     else 
      $(this).css("background-color", "rgba(0,0,0,0)");
    
  );
);

【问题讨论】:

到目前为止你做了什么,因为这看起来就像你拿了一段代码,并希望在没有实际做任何事情的情况下得到一段工作代码 Stack Overflow 是一个问答网站,而不是代码编写服务。 【参考方案1】:

改变这个:

$(this).css("background-color", "red");

进入这个:

$(this).css("color", "red");

【讨论】:

【参考方案2】:

我更新了你的JSFiddle

你应该替换所有的

$(this).css('background-color','rgba(0,0,0,0)'); 

$(this).css('color', 'white');

$(this).css('background-color','red'); 

$(this).css('color', 'red');

【讨论】:

字母不应该改变颜色......字母的背景颜色应该改变......【参考方案3】:

应该这样做:

if(!($(this).text().toLowerCase().indexOf(searched_term) == -1))
    $(this).html(original_text.replace(searched_term, "<mark style='background: yellow'>"+searched_term+"</mark>"));
   
else
    $(this).text($(this).text());   

基本上这个想法是用 html 元素替换搜索的词,以便我们可以使用 css 轻松突出显示它。

在此处演示:https://jsfiddle.net/h6tsdq0w/6/

【讨论】:

谢谢......但是如果我们在搜索框中输入一些内容,复选框就会丢失......你能解决它吗 @KoteswaraRao 修复了它jsfiddle.net/h6tsdq0w/6 @KoteswaraRao 将小提琴更新到最新版本。第六版是正确的 非常感谢@aelor....... 它会破坏事件并触发 DOM 的再生!

以上是关于需要在搜索中突出显示字母[重复]的主要内容,如果未能解决你的问题,请参考以下文章

VIM中不需要的模式突出显示[重复]

wps如何突出显示两列数据的重复项,而同列中重复数据不突出显示?

在 UITableView 单元格 iOS Swift 中突出显示搜索结果

突出显示qpushbutton pyqt中的单个字符[重复]

在excel中突出显示工作表内和工作表之间的重复项

突出显示所有匹配词 Java