
本来原生就是可以直接使用ID名称获取,ES就是有这个方法,就是这样定义……
反而如果你说jQuery自己有个方法:$getElementById。但你偏偏说说这个才是原生的方法,那就有问题了。
元素本身用this就炽了 攻取div2 用var objDiv2 = documentgetElementsById("div2"); 追问: 我是想获取这个div2你后面都写出来了 回答: 把你的代码贴出来,我也可以帮你啦。 documentgetElementsByTagName这类啦。 补充: 修改一下就可以。 改你的函数没意见吧。 <div onClick="toggle('div1',this)" id="div2"></div> //=== function expand(targetid,objSelf) { if (documentgetElementById) { target=documentgetElementById(targetid); if (targetstyledisplay=="block") { targetstyledisplay="none"; } else { targetstyledisplay="block"; } } if(targetstyledisplay=="block"){ objSelfvalue="cba"; }else{ objSelfvalue="seses"; }} 是不是可以呢。呵呵。
JS认为HTML文件会被浏览器解析为文档流,写在HTML里面的所有标签元素都可以从文档流中读取到。基于这个理论,JS定义了一个document对象,专门用来处理文档流。
要想获取一个元素,有两种方式:一种是根据元素的类名(class属性值),另一种是根据元素的ID。假设有一个input元素,JS获取该元素的方式如下:
<input class="isInput" id="input_first">
var element=documentgetElementByClass("isInput")[0];或者
var element=documentgetElementById("input_first");
需要注意的是,根据类名获取到的是一个数组,必须要通过下标才能获取到具体的某个元素。而根据ID获取到的则是具体的元素,所以常用的方式是用ID来获取。
如果数字连续的话可以试试这样子:
var obj=null;
for(var i=1;i<1000;i++){
if(obj=documentgetElementById("deviceCode_"+i)){
//通过使用这些元素的name和名字
}else{break;}
}
一般id不同的时候设置name相同,那样取起来比较方便
这个问题还是要在具体的实例中,解决会比较简单一点那我简单列举两种情况下获取页面元素的id和name的方法吧
1事件中
每一个事件方法中都会带一个event事件的属性参数,这个参数中就包含一个targe属性名,值表示的就是触发事件的节点,那我们可以这样获取
2非事件中
在非事件方法中,你想获取页面元素的id和name,那你首先就需要找到对应的节点你可以用document对象找,当然还是建议用jquery
节点获取了,那获取属性的方法还是跟上面的方法是一样的
在这里我们可以看出来,使用jquery方式更加简洁方便重要的是码字少呀还是建议用一下jquery而且jquery对于浏览器兼容也做了部分优化
您好,HTML5规范文档中指出:如果一个元素符合下面两条规则中的任一条,则window对象中必须要有与之对应的一个属性,属性值就是这个对象
如果一个元素拥有ID属性,那么ID属性的属性值就会成为window对象的属性名
如果一个元素拥有name属性,那么name属性的属性值就会成为window对象的属性名但这个元素的标签名必须是: a, applet, area, embed, form, frame, frameset, iframe, img, object,其中的一个。
> "foo" in window
false
> typeof foo // 这个全局变量到底有木有
object
//错误控制台输出了下面的警告//Element referenced by ID/NAME in the global scope
//Use W3C standard documentgetElementById() instead
> foo
[object HTMLDivElement]
//错误控制台输出了下面的警告//Element referenced by ID/NAME in the global scope
//Use W3C standard documentgetElementById() instead> "foo" in window true
以上就是关于为什么原生JS可以直接使用ID名称来获取元素全部的内容,包括:为什么原生JS可以直接使用ID名称来获取元素、JS如何获取调用JS的元素本身的ID、js怎么获取一个元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)