Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery突出显示特定位置的文本_Javascript_Jquery - Fatal编程技术网

Javascript 使用jquery突出显示特定位置的文本

Javascript 使用jquery突出显示特定位置的文本,javascript,jquery,Javascript,Jquery,我想突出显示特定位置的文本。类似于:,但它只突出显示位置n中的单词 例如,只突出显示文本“hello,hello,hello”中的第二个hello 谢谢你这里有一种方法可以做到这一点,但它不是一些简洁而聪明的jQuery——大部分是直接的javascript <div id="content">hello, hello, hello</div> <script type="text/javascript"> $(document).ready(fun

我想突出显示特定位置的文本。类似于:,但它只突出显示位置n中的单词

例如,只突出显示文本“hello,hello,hello”中的第二个hello


谢谢你

这里有一种方法可以做到这一点,但它不是一些简洁而聪明的jQuery——大部分是直接的javascript

<div id="content">hello, hello, hello</div>

<script type="text/javascript">
    $(document).ready(function() {
        var searchKey = "hello"; // text to search for in element
        var elementToSearch = $("#content");  // jquery element with text to search for matches
        var instanceToHighlight = 2; // 1-based;  e.g. 3 = third instance found
        highlightText(searchKey, elementToSearch, instanceToHighlight);
    });

    function highlightText(searchKey, elementToSearch, instanceToHighlight) {
        var content = elementToSearch.html();
        var highlightIndex = instanceToHighlight - 1;
        var lastIndex = -1;
        var i = 0;
        // get the index in the overall text of the instance to highlight
        while (i <= highlightIndex) {
            lastIndex = content.indexOf(searchKey, lastIndex + 1);
            i++;
        }
        var testValue = content.slice(lastIndex, lastIndex + searchKey.length);
        if (testValue !== searchKey) {
            return;  // didn't find an actual match
        }
        // chop up the content string so that the <span> tag can be wedged in around the text to highlight
        var contentBeforeHighlightText = content.substr(0, lastIndex);
        var contentAfterHighlightText = content.substr(lastIndex + searchKey.length, content.length - 1);
        highlightedText = "<span class=\"highlight\">" + searchKey + "</span>";
        content = contentBeforeHighlightText + highlightedText + contentAfterHighlightText;
        elementToSearch.html(content);
    }
</script>
你好,你好,你好 $(文档).ready(函数(){ var searchKey=“hello”//要在元素中搜索的文本 var elementToSearch=$(“#content”);//jquery元素,带有搜索匹配项的文本 var instanceToHighlight=2;//基于1;例如3=找到第三个实例 highlightText(搜索键、elementToSearch、instanceToHighlight); }); 功能高亮文本(搜索键、elementToSearch、instanceToHighlight){ var content=elementToSearch.html(); var highlightIndex=instanceToHighlight-1; var lastIndex=-1; var i=0; //在实例的整个文本中获取要突出显示的索引 而