【发布时间】:2011-02-06 03:24:35
【问题描述】:
我正在使用 jQuery 并创建现在搜索。我想更改所有匹配搜索的单词。
例如:
我在文本框中输入“hello world”,脚本获取页面上的所有单词“hello”和“world”并将其替换为“<b class="search_word">hello</b>”和“<b class="search_word">word</b>”。
有可能吗?
PS。
在 div 中搜索,但 div 包含许多其他 html 元素。
现在我正在使用这个:
if ($("#search_input").val() != "") {
var words = $("#search_input").val().split(/\s/g)
for (var i = 0; i < words.length; i++) {
var new_reg = new RegExp(words[i], 'gi');
var replaced = $(".content_area").html().replace(new_reg, "<b class='searched_word'>"+words[i]+"</b>")
$(".content_area").html(replaced);
}
}
它可以工作,但标签...
如果我搜索类似:“b 类是学校里最好的类”,它会破坏页面结构
【问题讨论】:
-
您说“在页面上”,是指在单个 DIV 或 P 元素中,还是真正的意思是“在页面上整个 HTML 的任何位置?第一个很容易,后者更多很难。相关 HTML 的列表将有助于人们回答这个问题。
标签: javascript jquery search