关于获取行外样式 currentStyle 和 getComputedStyle 出现的兼容性问题
关于用“索引”获取字符串每一项出现的兼容性问题;
关于DOM中 childNodes 获取子节点出现的兼容性问题;
关于使用 firstChild,lastChild 等,获取第一个/最后一个元素节点时产生的问题;
关于使用 event对象,出现的兼容性问题;
关于为一个元素绑定两个相同事件:attachEvent/attachEventLister 出现的兼容问题;
关于获取滚动条距离而出现的问题
<script language="JavaScript">var n = 0
function findInPage(str) {
if (str==""){
alert("请输入关键词")
return false
}
var txt, i, found
if (document.all){
// IE
txt = window.document.body.createTextRange()
for (i = 0 i <= n && (found = txt.findText(str)) != false i++) {
txt.moveStart("character",1)
txt.moveEnd("textedit")
}
if (found) {
txt.moveStart("character", -1)
txt.findText(str)
txt.select()
txt.scrollIntoView()
n++
}else{
if (n > 0) {
n = 0
findInPage(str)
}else{
alert("未找到指定内容")
}
}
}else if(document.layers){
if (!window.find(str))
while(window.find(str, false, true))
n++
else
n++
if (n == 0)alert("未找到指定内容.")
}else{
//ff chrome
window.find(str, false, true)
return true
}
return false
}
</script>
在线测试:http://www.scscms.com/html/article/20130826-js-webtxt.html
您好!很高兴为您答疑。您的这段代码主要有如下几个问题:
1、eval(TextBox2.value),您这样做应该是想做数据类型转换,但是如果您实际了解了eval的作用后会发现,其实您这么做是错误的;
2、self['TextBox3'].value这个实在看不懂何意。是不是您定义了多个name相同的控件。
结合您的代码给您以下2点建议:
1、因为js是浏览器兼容性问题的高发区,因此建议考虑使用jQuery框架,利用其规避兼容问题;
2、即便不用框架,也请使用原生的dom对象,您这种奇怪的表达式对于阅读性和兼容性都有很大的伤害。
如果对我们的回答存在任何疑问,欢迎继续问询。