javascript - js 搜索页面关键字 相关的变为红色 函数实现了 但是 第二次触发的时候不起作用
高洛峰
高洛峰 2017-04-11 11:01:56
0
1
354

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); } });
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답 (1)
洪涛

因为你把原始数据搞丢了。

var tempHTML = $("#" + id).html();

这是原始数据,应该保存下来,之后每次的操作都是在原始数据上。而你上面的代码$("#" + id).html(tempHTML);把原始数据覆盖了。后面当然覆水难收。

    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!