日期:2014-05-16  浏览次数:20341 次

大家帮忙看看我这段js哪里错了

 function input() {
            var keywords = document.getElementById("keywords").value;
            var keyhref = document.getElementById("keyhref").value;
            document.getElementById("txt1").innerHTML = document.getElementById("txt1").innerHTML.replace(/(keywords)/gi,"<a href=keyhref>keywords</a>");
        }


就是想替换关键字,给他就加上链接

------解决方案--------------------
.replace(/(keywords)/gi,"<a href=keyhref>keywords</a>");
这里不对 /(keywords)/gi 这里的 keywords 理解成了字符串,而不是变量


function input() {
            var keywords = document.getElementById("keywords").value;
            var keyhref = document.getElementById("keyhref").value;
            document.getElementById("txt1").innerHTML = document.getElementById("txt1").innerHTML.replace(eval("/"+keywords +"/gi"),"<a href=keyhref>keywords</a>");
        }


------解决方案--------------------
如果楼主想在正则表达式中插入变量,可以用eval()方法
比如var regExp = eval('/' + keywords + '/gi');