javascrpit-在JS里直接用id引用html页面上的组件

问题描述

在JS里直接用id引用html页面上的组件

偶然的机会见到在JS里直接用id定位到页面上的组件,没有使用getElementById()。而且在IE和Chrome下均好用。但是我在网上查询没有找到任何资料表明可以这么用,哪位好心人解释一下。
示例代码如下:

<script>
 function fun() {
    alert(a.value);
}
</script>

<input id="a" value="asd"/>
<input type="button" value="click" onclick="fun();"/>

解决方案

我创建一个网页,就示例代码这几行,测试可以拿到。

解决方案二:

从原理上来说直接用id肯定不可能。要不就是前面还有with括起来,或者自定义了函数 $('a').value之类。直接用id是不行的,不在一个域中。

解决方案三:

原本就可以通过id引用到。不过不建议这样做,最好使用document.getElementById来获取对象,还有name也可以

firefox下会有警告:ID/NAME 所引用的元素位于全局范围。请使用 W3C 的标准形式 document.getElementById() 。

解决方案四:

需要先使用document.getElementById()来获取对象,直接使用document.ID这种方式来使用,不符合标准的W3C规范,会导致在有些浏览器下是不支持的。

时间: 2024-09-19 10:06:14

javascrpit-在JS里直接用id引用html页面上的组件的相关文章

js里面的array的引用问题

问题描述 js里面的array的引用问题 请问我这样为什么打出的testArray1._array和testArray2._array的值都为1,2,3,4 ?我想每个实例里面保存不同的数据,testArray1._array保存1,2,testArray2._array保存3,4要怎么办 <!DOCTYPE html> function TestArray() { } TestArray.prototype._array = new Array(); function test() { va

当我在JSP页面上动态的往数据库里插入数据时,在页面上显示新插入的记录的时候,该条记录总是显示在最后一条,怎么做才能让刚刚新插入的记录显示在最前面?

问题描述 在数据库中往外读取数据时,在页面上用表格显示是按照数据表里的ID号依次往下排的,当我在JSP页面上动态的往数据库里插入数据时,在页面上显示新插入的记录的时候,该条记录总是显示在最后一条,怎么做才可以让刚刚新插入的记录显示在JSP页面最前面,也就是显示在第一条的位置上?(用的是表格显示数据) 解决方案 解决方案二:你查询的时候按ID降序获得结果集这样不就可以了解决方案三:引用1楼zn85600301的回复: 你查询的时候按ID降序获得结果集这样不就可以了 只有引用的内容不允许回复!解决方

在 .net2008里,是web程序。页面上有若干个文本框,切换不刷新页面

问题描述 在.net2008里,用C#程序,在一个web页面.我现在有若干个文本框,要实现文本框之间输入数据进行切换,直接按回车键.但是每次回车,页面要重新刷新,有没有办法部刷新页面,实现切换! 解决方案 解决方案二:网上有很多例子自己搜索吧用js判断是否按下的是回车键如果是焦点停在下一个文本框内解决方案三:按照我的理解,你意思是enter实现tab的功能?最简单的$(function(){$(document).keydown(function(){if(event.keyCode==13){

javascript-获取一个HTML元素竟然可以直接用其ID表示

问题描述 获取一个HTML元素竟然可以直接用其ID表示 一个含有ID的HTML标签可以直接用其ID表示元素,可以不同documen.getElementById(""); 例如:设置文本在js中可以直接用btn1表示,有这标准么? 如果有多个元素定义了拥有同样的ID则,其表示的是第一个元素. 解决方案 标准用法是document.getElementById,用同名id,有可能定义过同名变量,得到的就是变量了 解决方案二: 在html中的 id 属性 在javascript 中直接获取

直接用IE浏览网页 VS 在“我的电脑”里访问网页——保存cookie的问题。

       直接用IE浏览网页.在"我的电脑"里输入网址,这两种方法都可以访问网页,而且"我的电脑"里输入网址输入网址后(按回车),"我的电脑"就会变成IE的形式,表面上看这两种方式是没有什么却别的,但是,如果是一个OA,里面有window.open的形式打开的窗口,并且使用cookie的方式要验证用户是否登录,那么区别就显现出来了.        简单地说,在"我的电脑"里输入网址,打开一个网页,然后在open一个子窗口,

.net 请教一个小问题 如何把GridView某行的值传到JS里。。谢谢~!

问题描述 functionselProject(obj){vargv=document.getElementById("<%=this.gvRequest.ClientID%>");varnum=0;for(vari=1;i<gv.rows.length;i++){varinputArray=gv.rows[i].getElementsByTagName("input");varinputArray2=取得此行tasknumber里的值..多谢~~

jsp中调用上一个网页中调用的js里面的input text的值

问题描述 jsp中调用上一个网页中调用的js里面的input text的值 套了一个时间选择的模板,想要获取开始时间和结束时间,但是这两个出现在调用的js里面,怎么获取 解决方案 将控件绑定id,js中有通过id设置控件内容的方法 解决方案二: 当前网页和上一个网页是什么关系?iframe还是window.open? iframe可以用parent或者document.getElementById('ifrID').contentWindow得到相互引用, window.open用opener或

关于js里的this关键字的理解_javascript技巧

this关键字在c++,java中都提供了这个关键字,在刚开始学习时觉得有难度,但是只要理解了,用起来就方便多了,下面通过本篇文章给大家详解js里this关键字的理解. 关于this,是很多前端面试必考的题目,有时候在网上看到这些题目,自己试了一下,额,还真的错了!在实际开发中,也会遇到 this 的问题(虽然一些类库会帮我们处理),例如在使用一些框架的时候,例如:knockout,有时候不明白为什么不直接使用this,而要把 this 作为参数传入.    接下来你谈谈我对它的理解,也作为一个

分页如果不要求传值的话,可以直接用&amp;lt;html:link&amp;gt;

如果分页的sql语句是这样, Sql代码 select hphm,hpzl from dzjc.dzjc_bhmd ,没有where条件的话,就可以直接用 Html代码 <html:link action="page">page</html:link> ,不用通过提交值.直接去后台开始分页 action="page"中的page要与path中的page相对应,而action里的page可以不用写/page.do的形式 Xml代码 <ac