87,910
社区成员
发帖
与我相关
我的任务
分享
var html = '如果是有学生<a href="#" title="学生" >asdasdasdasd学生asdadasdasdasdasd</a>学生';
var a = html.replace(/(?!<[^>]*)(学生)(?![^<]*>)/gi,"<a href='#'>$1</a>>");
alert(a);
<div><a href="#" title="学生" >asdasdasdasd<b>学生</b>asdadasdasdasdasd</a></div>
<div>学生啊</div>
<script>
function parentsNotA(o) { do { if (o.tagName == 'A') return false; } while (o = o.parentNode); return true }
window.onload = function () {
var range, keyword = '学生'
if (document.createRange) range = document.createRange();
else range = document.body.createTextRange();
if (range.findText) {//ie
while (range.findText(keyword)) {
if (parentsNotA(range.parentElement())) range.pasteHTML('<a href="#">' + keyword + '</a>');
else range.move('character', keyword.length)
}
} else if (window.find) {//标准浏览器
var s, n;
s = window.getSelection();
while (window.find(keyword)) {
if (parentsNotA(s.focusNode)) {
var a = document.createElement("a");
a.href = '#';
s.getRangeAt(0).surroundContents(a);
}
}
s.removeAllRanges()
}
alert(document.body.innerHTML)
}
</script>