关键字搜索
//关键字搜索 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);//有参数是跳转到第一个查询位置 };