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

Karen110
• 阅读 1362

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

一、找到HTML元素

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

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

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

var myElement = document.getElementById("intro");

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

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

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

找到所有<p>元素:

var x = document.getElementsByTagName("p");

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

var x = document.getElementById("main");
var y = x.getElementsByTagName("p");

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

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

例:

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

var x = document.getElementsByClassName("intro");

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

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

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

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

var x = document.querySelectorAll("p.intro");

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

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

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


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

<!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>

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

2. document.body


<script>
 alert(document.body.innerHTML);
</script>

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

3. document.embeds


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

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

4. document.head


<script>
    document.getElementById("demo").innerHTML = document.head;
</script>

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

5. document.images


<!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>

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

6. document.title


<!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>

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

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

六、扩展

获取元素的属性值

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

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


var link = document.getElementById("demo");
var href = link.getAttribute("href");
var title = link.getAttribute("title");

1. 在元素上设置属性

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

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


var x = document.getElementsByTagName("a")[0];
x.setAttribute("href", "https://www.baidu.com/css3/");

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

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

document.getElementsByTagName("input")[0].setAttribute("type", "text");
**完整代码:**  

<!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>

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

2. 从元素中删除属性

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

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

document.getElementsByTagName("a")[0].removeAttribute("href");

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

七、总结

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

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

**-----**------**-----**---**** End **-----**--------**-----**-****

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

往期精彩文章推荐:

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

欢迎各位大佬点击链接加入群聊【helloworld开发者社区】:https://jq.qq.com/?_wv=1027&k=mBlk6nzX进群交流IT技术热点。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
03. react 初次见面
    与浏览器的DOM元素不同,React当中的元素事实上是普通的对象,ReactDOM可以确保浏览器DOM的数据内容与React元素保持一致。1、将元素渲染到DOM中    首先我们在一个HTML页面中添加一个id"root" 的<div:<divid"root"
Wesley13 Wesley13
3年前
JQ选择器
如果你想寻找id以“sub\_”开头的元素,你可以使用:$("id^'sub_'")如果你想寻找id以“trim”结尾的元素,你可以使用:$("id$'trim'")要获得id包含“AAA”的元素,需要使用(这比遍历要快)$("id'trim'")可以指定元素类型input或者其他标签
Stella981 Stella981
3年前
Python+Selenium自动化篇
本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子。0.元素定位方法主要有:id定位:find\_element\_by\_id('')name定位:find\_element\_by\_name('')class定位:find\_element\_by\_class\_name(''
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Stella981 Stella981
3年前
CSS 分类 (Classification)
★★CSS分类属性(Classification)★★⑴CSS分类属性允许你控制如何显示元素,设置图像显示于另一元素中的何处,相对于其正常位置来定位元素,使用绝对值来定位元素,以及元素的可见度。⑵下面是常用的属性以及描述:!(https://oscimg.oschina.net/oscnet/00cb565
Stella981 Stella981
3年前
Javascript权威指南——第一章Javascript概述
示例:javascript贷款计算器  相关技术:    1、如何在文档中查找元素;    2、如何通过表单input元素来获取用户的输入数据;    3、如何通过文档元素来设置HTML内容;    4、如何将数据存储在浏览器中;    5、如何使用脚本发起HTTP请求;    6、如何利用<canvas元素绘图。!(h