前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一篇文章带你了解JavaScript htmldom 元素

一篇文章带你了解JavaScript htmldom 元素

作者头像
前端进阶者
发布2021-05-17 16:48:36
1.8K0
发布2021-05-17 16:48:36
举报
文章被收录于专栏:前端进阶交流

这篇文章将教会大家如何查找和访问网页中的HTML元素。

一、找到HTML元素

通常,使用JavaScript,想操作HTML元素。要做到这一点,必须先找到元素。有几种方法可以做到这一点。

找到DOM中的HTML元素的最简单的方法,是利用元素的id。

使用id="intro"找到元素 :

代码语言:javascript
复制
var myElement = document.getElementById("intro");

如果找到元素,则该方法将返回元素作为对象 (赋值给myElement)。

元素没有被发现,myElement将是空的。

二、通过标签名称找到HTML元素

找到所有<p>元素:

代码语言:javascript
复制
var x = document.getElementsByTagName("p");

这个例子使用id="main"找到元素 , 并且在"main"里面找到所有的 <p> 元素:

代码语言:javascript
复制
var x = document.getElementById("main");
var y = x.getElementsByTagName("p");

三、通过类名称找到HTML元素

如果想找到同一类名称的所有HTML元素,使用getElementsByClassName()。

例:

返回所有class="intro"的元素列表.

代码语言:javascript
复制
var x = document.getElementsByClassName("intro");

在Internet Explorer 8和早期版本中,按类名查找元素不起作用。

四、通过CSS选择器找到HTML元素

如果想找到所有的HTML元素,匹配指定的CSS选择器 (id, 类名, 类型, 属性, 属性值, 等等), 使用querySelectorAll() 方法。

此示例返回所有class="intro"的<p>元素列表。

代码语言:javascript
复制
var x = document.querySelectorAll("p.intro");

querySelectorAll() 方法在Internet Explorer 8和早期版本中不起作用。

五、通过HTML对象集合找到HTML元素

此示例查找id="frm1"的表单元素,在表单集合里,并显示所有的颜色值。

代码语言:javascript
复制
var x = document.forms["frm1"];
var text = "";
var i;
for (i = 0; i < x.length; i++) {
   text += x.elements[i].value + "<br>";
}
document.getElementById("demo").innerHTML = text;

下面的HTML对象(或对象的集合)也可访问:

1. document.anchors
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>项目</title>
</head>
<body style="background-color: aqua;">

<a name="html">HTML Tutorial</a><br>
<a name="css">CSS Tutorial</a><br>
<a name="xml">XML Tutorial</a><br>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
"Number of anchors are: " + document.anchors.length;
</script>

</body>
</html>
2. document.body
代码语言:javascript
复制
<script>
 alert(document.body.innerHTML);
</script>
3. document.embeds
代码语言:javascript
复制
<script>
    document.getElementById("demo").innerHTML =
    "Number of embeds: " + document.embeds.length;
</script>
4. document.head
代码语言:javascript
复制
<script>
    document.getElementById("demo").innerHTML = document.head;
</script>
5. document.images
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>项目</title>
</head>
<body>

  <img src="pic_htmltree.gif">
  <img src="pic_navigate.gif">

  <p id="demo"></p>

  <script>
  document.getElementById("demo").innerHTML =
  "Number of images: " + document.images.length;
</script>

</body>
</html>
6. document.title
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>项目</title>
  </head>
  <body style="background-color: aqua;">

    <p id="demo"></p>

    <script>
      document.getElementById("demo").innerHTML = "The title of this document is: " + document.title;
</script>

  </body>
</html>

HTML DOM允许JavaScript获取和更改HTML元素的属性。

六、扩展

获取元素的属性值

getAttribute()方法用于获取元素上指定属性的当前值。

以下示例获取锚元素的hreftitle属性的值。

代码语言:javascript
复制
var link = document.getElementById("demo");
var href = link.getAttribute("href");
var title = link.getAttribute("title");
1. 在元素上设置属性

setAttribute()方法用于设置指定元素上的属性的值。

如果属性已经存在,则更新值;否则,将添加具有指定名称和值的新属性,将href属性的值设置为锚元素:

代码语言:javascript
复制
var x = document.getElementsByTagName("a")[0];
x.setAttribute("href", "https://www.baidu.com/css3/");

同样,可以使用setAttribute( )方法来更新或更改HTML元素上现有属性的值。

代码语言:javascript
复制
document.getElementsByTagName("input")[0].setAttribute("type", "text");
代码语言:javascript
复制
完整代码:
代码语言:javascript
复制
<!DOCTYPE html>
<html>
  <title>项目</title>

  <body style="background-color: aqua;">

    <p>单击按钮可将输入按钮更改为输入字段:</p>

    <input type="button" onclick="myFunc(this)" value="Click me">

    <script>
      function myFunc(x) {
        x.setAttribute("type", "text");
      }
</script>

  </body>
</html>
2. 从元素中删除属性

removeAttribute()方法用于从指定元素中删除属性。

本示例从锚元素中移除href属性:

代码语言:javascript
复制
document.getElementsByTagName("a")[0].removeAttribute("href");

七、总结

本文基于JavaScript基础,介绍了Html元素,从最基本的通过标签名找Html元素,通过类名找Html元素。通过CSS选择器找Html元。最后扩展如何设置元素属性,如何去删除元素属性。通过丰富的效果图展示,能够帮助读者更好的了解Html元素。

代码很简单了,希望能够帮助你。

------------------- End -------------------

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端进阶学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、找到HTML元素
  • 二、通过标签名称找到HTML元素
  • 三、通过类名称找到HTML元素
  • 四、通过CSS选择器找到HTML元素
  • 五、通过HTML对象集合找到HTML元素
    • 1. document.anchors
      • 2. document.body
        • 3. document.embeds
          • 4. document.head
            • 5. document.images
              • 6. document.title
              • 六、扩展
                • 获取元素的属性值
                  • 1. 在元素上设置属性
                  • 2. 从元素中删除属性
              • 七、总结
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档