javascript:搜索文字

时间:2011-12-05 20:23:41

标签: javascript

我有一个输入标签,用于搜索页面中的文本。 我有这个javascript:

var TRange=null;

function findString (str) {
    if (parseInt(navigator.appVersion)<4) return;
    var strFound;
    if (window.find) {

        // CODE FOR BROWSERS THAT SUPPORT window.find
        strFound=self.find(str);
        if (!strFound) {
            strFound=self.find(str,0,1);
            while (self.find(str,0,1)) continue;
        }
    }
    else if (navigator.appName.indexOf("Microsoft")!=-1) {

        // EXPLORER-SPECIFIC CODE

        if (TRange!=null) {
            TRange.collapse(false);
            strFound=TRange.findText(str);
            if (strFound) TRange.select();
        }
        if (TRange==null || strFound==0) {
            TRange=self.document.body.createTextRange();
            strFound=TRange.findText(str);
            if (strFound) TRange.select();
        }
    }
    else if (navigator.appName=="Opera") {
        $('#srchform2').hide();
        alert ("Il browser opera non è supportato")
        return;
    }
    if (!strFound) alert ("testo non trovato!")
    return;
}

当它发现一个单词时,它指出灰色! 我该如何改变这种颜色?

3 个答案:

答案 0 :(得分:2)

可能支持也可能不支持您的浏览器。这基本上是你可以做的:

::selection {
        background: #ffb7b7; /* Safari */
        }
::-moz-selection {
        background: #ffb7b7; /* Firefox */
}

::-webkit-selection {
  background:#cc0000;  /* Webkit */
}

答案 1 :(得分:1)

您可以在现代浏览器中使用CSS来更改所选文本的颜色:

::-moz-selection{ background: #080; color:#fff;}
::selection { background:#080; color:#fff; }

JSFiddle:http://jsfiddle.net/GUC5d/

答案 2 :(得分:0)

听起来你的问题实际上是:如何更改所选文字的颜色?

请参阅http://www.quirksmode.org/css/selection.html

但是,如果您真正想要做的是突出显示找到的单词,您可能希望将找到的单词包装在<span>元素中,其中CSS类突出显示您的偏好。这样,当用户选择其他内容时,突出显示不会丢失。