关键字搜索

//关键字搜索
function Sercah() {
// var parms = com.SerializeURL2Json(); //url参数
var s = parent.document.getElementById('txtMenKey') || document.getElementById('txtMenKey');
var kyesVal = $.trim(s.value);
//if (keys_test != "" && keys_test == kyesVa l) { return; }//waitmsg("已找到对应的" + g_keys_count + "处关键字!", 1);相同关键字查询时返回
$(".reading").children('reading_box_m p').css({ 'background': "#FFF" })
$('span[keys]').removeAttr('style').removeAttr("id");
g_keys = 0;
var lip = 0;
if (kyesVal != '' && kyesVal != '关键字查询') {
//将HTML代码支离为HTML片段和文字片段,其中文字片段用于正则替换处理,而HTML片段置之不理
var v_html = $(".reading_box_m").html();
var tags = /[^<>]+|<(/?)([a-z]+)([^<>]*)>|<![^>]*>/ig;
var a = v_html.match(tags);
$.each(a, function (i, c) {
if (!/<(?:.|s)*?>| /.test(c)) {//非标签 开始执行替换
var reg = new RegExp($.regTrim(kyesVal), "g");
if (reg.test(c)) {
c = c.replace(reg, function () {
lip++;
return "<span keys title=第" + lip + "处 id=keys" + lip + " style='background:yellow; color:red'>" + kyesVal + "</span>";
}); //正则替换
a[i] = c;
}
}
});
var new_html = a.join(""); //将支离数组重新组成字符串
$(".reading_box_m").html(new_html);
//$(".reading_box_m p").filter(function (i) {
// if ($(this).text().indexOf(kyesVal) != -1) {
// var r = RegExp(kyesVal, 'ig');
// $(this).html($(this).text().replace(r, function () {
// var arg = arguments;
// lip++;
// return '<span title=第' + lip + '处 id=keys' + lip + ' keys style="background:yellow; color:red">' + kyesVal + '</span>';
// }))
// }
//});
keys_test = kyesVal; //关键字记录赋值
g_keys_count = lip; //关键字次数
if (arguments.length > 0 && arguments[0] == '0') {//有参数表示按钮点击没有查询到提示
if (lip == 0)
waitmsg("没有找到对应的关键字!", 4);
else {
waitmsg("已找到对应的" + g_keys_count + "处关键字!", 1);
}
}
} else {
if (arguments.length > 0 && arguments[0] == '0')//有参数表示按钮点击没有查询到提示
$('#txtMenKey').val('关键字查询');
keys_test = '';
waitmsg("请输入查询关键字!", 4);
};
PositionKeys('down', 0);//有参数是跳转到第一个查询位置
};
原文地址:https://www.cnblogs.com/sxmny/p/3555266.html