1.在页面所有框中 搜索相关的关键字 点击搜索 页面中关键字红色 但是第二次更改关键字 搜索函数不触发 并且还是之前变色(不知道怎么处理 让他变为之前的颜色 不是红色)
2.这些数据 搜索的暂时都是死得 没有用接口。
3.
function setHeightKeyWord(id, keyword, color, bold) { if (keyword == ""){ return; } var tempHTML = $("#" + id).html(); var htmlReg = new RegExp("\<.*?\>", "i"); var arrA = new Array(); for (var i = 0; true; i++) { var m = htmlReg.exec(tempHTML); if (m) { arrA[i] = m; } else { break; } tempHTML = tempHTML.replace(m, "[[[[" + i + "]]]]"); } var replaceText; if (bold){ replaceText = "$1"; } else{ replaceText = "$1"; } var arrayWord = keyword.split(','); for (var w = 0; w < arrayWord.length; w++) { var r = new RegExp("(" + arrayWord[w].replace(/[(){}.+*?^$|\\\[\]]/g, "\\$&") + ")", "ig"); tempHTML = tempHTML.replace(r, replaceText); } for (var i = 0; i < arrA.length; i++) { tempHTML = tempHTML.replace("[[[[" + i + "]]]]", arrA[i]); } $("#" + id).html(tempHTML); } $("#searchBtn").click(function() { if ($('#searchMainLayoutDefault').is(':visible')) { var $keyword = $("#searchInputText").val(); setHeightKeyWord('searchMainLayoutDefault', $keyword, 'red', true); } });
因为你把原始数据搞丢了。
这是原始数据,应该保存下来,之后每次的操作都是在原始数据上。而你上面的代码
$("#" + id).html(tempHTML);
把原始数据覆盖了。后面当然覆水难收。