使用jquery突出显示文本

时间:2011-09-21 14:35:36

标签: javascript jquery

我有一个文本框,按钮和带有一些文字的列表框。

当我点击按钮时,如果我在文本中输入的文本与列表框中的文本匹配,那么我试图使用jquery突出显示该文本我使用了此代码。

Jquery代码

$("#btnhighlight").click(function () {
    alert("yes");
    var htext = $("#txthighlighttext").val();
    alert(htext);
    $("#lstCodelist").highlight('MD');
});

样式表我曾经高亮,我下载了添加到项目中的高亮插件

<style type="text/css">
    .highlight { background-color: yellow }
</style>

任何人都可以帮我解决这个问题。或者如果我做错了? 可以

2 个答案:

答案 0 :(得分:2)

也许你的问题是你的脚本在DOM准备好之前执行。

试试这个:

$(function (){
    $("#btnhighlight").click(function () {
        var htext = $("#txthighlighttext").text();
        $('#lstCodelist').highlight(htext);
    });
});

或将你的脚本放在身体末端。

PS。我猜你用过这个插件(jquery.highlight

编辑: http://jsfiddle.net/yJmBu/这里有一个完整的例子

答案 1 :(得分:0)

此插件在其找到的文本周围生成跨度。选项标签不能包含任何html标签,因此以下内容(由您的插件生成)

<select>
   <option><span class="highlight">Te</span>st</option>
</select>

是非法语法,浏览器将忽略它。

但是,如果我理解你的意图,那里有一些插件可以为你提供开箱即用的类似功能。

http://code.drewwilson.com/entry/autosuggest-jquery-plugin

有些证据表明不允许在选项中嵌套跨度。