美文网首页
2.获取DOM元素

2.获取DOM元素

作者: 未路过 | 来源:发表于2022-09-26 11:14 被阅读0次

1 获取元素节点

当层级嵌套比较深的时候,我们如果从body开始拿元素,使用导航的方式非常不方便。所以我们需要使用方法直接获取我们想要的元素。


image.png
  1. getElementById()

– 通过id属性获取一个元素节点对象

  1. getElementsByClassName()
    – 通过class名获取一组元素节点对象
  2. getElementsByTagName()

– 通过标签名获取一组元素节点对象

  1. getElementsByName()

– 通过name属性获取一组元素节点对象

<html>
<head>
<script type="text/javascript">
function getElements()
  {
  var x=document.getElementsByName("myInput");
  alert(x.length);
  }
</script>
</head>
<body>

<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<br />
<input type="button" onclick="getElements()"
value="How many elements named 'myInput'?" />

</body>
</html>
  1. querySelector()

  2. querySelectorAll()

• 这两个方法都是用document对象来调用,两个方法使用相同,都是传递一个选择器字符串作为参数,方法会自动根据选择器字符串去网页中查找元素。

• 不同的地方是querySelector()只会返回找到的第一个元素,而querySelectorAll()会返回所有符合条件的元素。

• ie8及其以上版本支持

                //获取class为box1中的所有的div
                //.box1 div
                /*
                 * document.querySelector()
                 *  - 需要一个选择器的字符串作为参数,可以根据一个CSS选择器来查询一个元素节点对象
                 *  - 虽然IE8中没有getElementsByClassName()但是可以使用querySelector()代替
                 *  - 使用该方法总会返回唯一的一个元素,如果满足条件的元素有多个,那么它只会返回第一个
                 */
                var div = document.querySelector(".box1 div");
                
                var box1 = document.querySelector(".box1")
                
                //console.log(div.innerHTML);
                //console.log(box1.innerHTML);
                
                /*
                 * document.querySelectorAll()
                 *  - 该方法和querySelector()用法类似,不同的是它会将符合条件的元素封装到一个数组中返回
                 *  - 即使符合条件的元素只有一个,它也会返回数组
                 */
                box1 = document.querySelectorAll(".box1");
                box1 = document.querySelectorAll("#box2");
                console.log(box1);
//box1 看起来是个数组,其实是一个可迭代对象,
可以使用for of来枚举。
多个元素放在一起一般是NodeList,是一个对象,不是数组。
虽然它能够通过索引值获取值,它不是数组,而是有个属性叫做0, 1, 2, 3.

2. 开发中如何选择呢?

  1. 目前最常用的是querySelector和querySelectAll;
  2. getElementById偶尔也会使用或者在适配一些低版本浏览器时;

相关文章

  • 2.获取DOM元素

    1 获取元素节点 当层级嵌套比较深的时候,我们如果从body开始拿元素,使用导航的方式非常不方便。所以我们需要使用...

  • 原生js学习-----javascript DOM 操作

    1. 创建dom元素 2. 获取dom元素 getElementById("id"),如果id在元素中不是唯一的,...

  • DOM的学习顺序

    1.DOM元素之间的关系 2.获取DOM元素 3.DOM节点的type、tag、content 4.DOM节点的a...

  • JavaScript获取dom元素

    获取dom元素的方法 通过标签名获取dom元素 通过id名获取dom元素 通过类名获取元素 HTML5新方法 通过...

  • DOM-BOM-EVENT(2)

    2.获取DOM元素的方法 #2.1.getElement系列 documentElementById 通过id获取...

  • JavaScript

    1.DOM:文档对象模型(Document Object Model)2.获取DOM元素:document.get...

  • 02-JQuery操作DOM

    一、JS获取DOM元素和JQuery获取DOM元素的区别 JavaScript获取的是DOM对象,而Jquery获...

  • DOM设置元素样式

    2.使用DOM获取元素后,怎么给元素设置样式语法:ele.style.styleName=styleValuest...

  • Vue中ref属性获取DOM元素和组件引用

    ref获取DOM元素vue中获取DOM元素不建议用js直接操作DOM,使用ref可达到操作DOM的效果写法:thi...

  • js : DOM+BOM(window.location)

    DOM: document object model DOM 树 DOM中元素获取的方式 id获取: var oD...

网友评论

      本文标题:2.获取DOM元素

      本文链接:https://www.haomeiwen.com/subject/zziyortx.html