这样写就可以:
var keyword=document.forms[0].keyword.value//关键字
但是,你的这样语句就是页面加载的时候执行一次,因为你写在onLoad里面的,那么当页面加载以后你修改keyword的值是没有效果的。
要能够多次执行,应该这样:
<html><head>
<script language="JavaScript">
function func()
{
var keyword=document.forms[0].keyword.value//关键字
var r=document.body.createTextRange()
var s='<font style="background-color: #FFFF00">'+keyword+'</font>'
while(r.findText(keyword)){
for(var o=r.parentElement()o&&o.tagName!="A"o=o.parentElement)
if(!o)try{
r.pasteHTML(s)
}catch(e){}
r.collapse(false)
}
return false
}
</script>
</head><body>
<form onSubmit="return func()">
<input name='keyword' type='text' value="******">
<input type=submit value='Search'>
</form>
</body></html>
首先,只能取出inline的JS内容,如果脚本是通过 src 加载进来的,这个是没办法取出的。对于 inline 的 JS 内容,高端浏览器使用 textContent ,IE6/7/8 使用 innerText。下面是例子:
<script id="s1">alert(1)</script>
var script = document.getElementById( 's1' )
var text = script.textContent || script.innerText
console.log( text )// output alert(1)