2015-06-06 43 views
3

我是编程新手,对带有id属性的HTML元素有疑问。我的问题是 - 如果一个HTML元素有一个id属性,id属性的值是否可用,而不需要在JavaScript中定义它呢?这里是让这个更清楚的例子:是否已经在JavaScript中定义了id的html元素?

<!DOCTYPE html> 
    <html> 
     <head> 
     <meta charset="UTF-8" /> 
     </head> 
     <body> 
     <input type="checkbox" id="mycheckbox" checked /> 
     <input type="radio" id="myradio" checked /> 
     <p id="test"> 
      p tag too. 
     </p> 

     <script> 
      if(mycheckbox.checked) { 
      alert("How does this work? Are there more pre-defined stuff (varaibles?) like this one?"); 
      } 
      if(myradio.checked) { 
      alert("Another example with radio"); 
      } 
      alert(test.innerHTML); 
     </script> 

     </body> 

我与HTML元素的工作阅读JavaScript的一些书籍,并没有给这个快捷方式(如果它是一个)。

预先感谢您。

+1

这可能是因为旧黑暗时代向后兼容性的作品时,IE6是浏览器,但不推荐。使用'document.getElementById()'而不是 – Peter

+2

http://stackoverflow.com/questions/3434278/do-dom-tree-elements-with-ids-become-global-variables – AmmarCSE

+0

我建议你阅读[DOM]( https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction)了解HTML和javascript之间的链接 – Ander2

回答

0

建议使用document.getElementById(id)代替。 http://www.w3.org/TR/html51/browsers.html#named-access-on-the-window-object

$('#id')如果您使用的jQuery库,我个人建议让你更容易。要使用它的方法,你只需要包括在标签(从CDN EG)链接到jQuery脚本

来源:http://api.jquery.com/id-selector/

+0

这个答案是错误的。 –

+0

@torazaburo如果你指出了错误,它可能仍然有用。不管怎样,谢谢你。 – CyborgFish

+2

@CyborgFish这是错误的,因为说“不”,但规范说“是”。请参见[Window对象上的命名访问](http://www.w3.org/TR/html51/browsers.html#named-access-on-the-window-object)。但'getElementById'是更好的练习。 – Oriol

相关问题