帮助某人时,我有一个有趣的情况。他们想知道为什么下面的代码工作:HTML DOM元素全球范围
<input type="text" id="myElem" value="Nice" />
$(function() {
var myElem = $("myElem");
myProblem();
});
var myProblem = function() {
var result = myElem.value; //This Works
result = myElem.val(); //Doesn't Work
}
起初我没有一个很好的答案,因为我现在的想法是在myProblem方法应该失败这两个语句,但只有一个失败。后来我学会了浏览器全局范围内的所有HTML元素。
因此,解释这个问题是如何解决的,myElem将在加载函数中作为JQuery对象的作用域,但是当它位于myProblem方法内时,JQuery对象将变得超出范围,并且由于浏览器范围所有HTML元素在全球范围内,myElem将被限定为HtmlInputElement。
我一直在编写代码,对于我来说,只是为了学习浏览器对全局HTML元素进行范围界定是我的新闻。
我了解代码示例及其工作原理。我的问题是浏览器有多早这样做?这是最新的趋势还是我错过了什么?所有浏览器都支持吗?
经过一番研究,我发现最新的浏览器支持,但如何对IE6 +等
谢谢
谢谢,你提到“这本来是和IE功能”什么版本早 - IE6?我想知道是否有任何浏览器支持的兼容性图表。 – deDogs
它存在于IE6中,可能更早,但不确定。 –