2012-07-27 31 views
1

即時通訊使用這個jQuery插件搜索文本:「http://code.google.com/p/jquery-highlight/downloads/list」 ..高光采用了棱角分明的js搜索文本,jQuery的和CSS

但是我不能夠在角JS來包裝這個代碼, 我的意思是說「我無法寫一個指令來調用這個jquery插件」...... !!!

更新時間:

同一職位在谷歌組:

This is the group

+2

你的問題非常含糊。更具體地說,提供一些示例代碼 – 2012-07-27 10:00:22

回答

2

UPDATE:這只是一個例子。您可以根據自己的需要進行修改。

您不需要RegExp比較。 讓我們簡單使用javascript的split()函數

1)定義突出顯示的樣式。

.srchslctn{ 
    background-color: yellowgreen; 
    color: red; 
} 

2)你的示例HTML

<body> 
    <div> 
     <div id="serach-Paragraph"> 
      Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum 
     </div> 
     <input type="button" id="h" value="Highlight"/> 
     <div id="target"></div> 
    </div> 
</body> 

3)的JavaScript

  $(document).ready(function(){ 
      $("#h").on('click',function(){ 
       highlight(); 
      }); 
     }); 

     function highlight(){ 
      $("#target").empty(); 
      var mainString = $("#serach-Paragraph").html(); 
      var searchString = "ipsum"; 
      var arr = mainString.split(searchString); 
      var len = arr.length; 
      var finalString=""; 
      for(var i=0;i<arr.length;i++){ 

       finalString+=arr[i]; 

       if(i<len-1){ 
        finalString+='<span class="srchslctn">'+searchString+'</span>'; 
       } 
      } 
      $("#target").html(finalString); 
     } 

那它....

說明 - :split()將根據您的searchString來打破targetString。這與我們如何檢索逗號分隔值類似。只有在這種情況下,您的搜索字符串就像逗號:)

然後保持arr[0]原樣。 突出顯示您的搜索字符串並將其附加到arr[0]。 追加arr[1]以上結果等。

簡單....


搜索的文本中,你必須只突出顯示文本的匹配部分保持靜止,因爲它是什麼?

+1

提供一些用例... – AdityaParab 2012-07-28 09:34:25

+0

即時通訊使用此jquery插件搜索文本「http://code.google.com/p/jquery-highlight/downloads/list」..但im不是能夠在角js中包裝這個代碼,我的意思是說:「我無法寫一個指令來調用這個jquery插件」 – praveenpds 2012-07-28 11:14:52

+0

在Google組中同樣的帖子:非常活躍的組「https://groups.google.com/論壇/#!topicsearchin /角/角$ 20directive $ 20for $ 20jquery $ 20plugin /角/ rjsdnIhJRck」 – praveenpds 2012-07-28 11:45:02