博客列表 >html,css,javascript对象与元素获取

html,css,javascript对象与元素获取

lilove的博客
lilove的博客原创
2020年06月13日 16:46:32810浏览

一、html 文档结构


一个简单的 html 页面如下

  1. <!DOCTYPE html>
  2. <html lang="zh-cn">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>20200611</title>
  7. </head>
  8. <body>
  9. <h1>PHP小刚的日志</h1>
  10. <span>这是一个span元素</span>
  11. <p>这是一个P元素<strong>p元素中的一个加重字</strong></p>
  12. </body>
  13. </html>

主要由 4 个部分组成

  • <!DOCTYPE html> html文件的文档类型,用于声明html文本类型。

  • <html>...</html> html页面代码根元素标签,包含头部标签与主体内容。

  • <head>...</head> html页面代码头部元素标签,包含meta、tittle等头部元素,多用于seo优化,视口设置等。

  • <body>...</body> html页面代码主体元素标签,包含浏览器主窗口中的元素。

注意:这里的 “元素” 与 <body>…</body> 中的 “元素” 是不一样的概念。

结构如下图

html结构


这几个部分也共同组成了浏览器的 javascript 全局对象 window,结构如下

window

window结构

ps:浏览器集成了javascript解释器。


二、html元素属性与元素获取方式


html页面 <body>...</body> 中的元素标签都具有3个通用属性

  1. id id选择器,具有唯一性,浏览器不检查,需要用户自行约束

  2. class 类选择器,样式优先级小于标签中style属性的样式

  3. style 在元素标签中设置样式,优先级最高

下面我们来看一段html代码

  1. <!DOCTYPE html>
  2. <html lang="zh-cn">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>20200611</title>
  7. </head>
  8. <style>
  9. h1 {
  10. color: green;
  11. }
  12. #h1-id {
  13. color: blue;
  14. }
  15. .h1-class {
  16. color: red;
  17. }
  18. </style>
  19. <body>
  20. <h1 id="h1-id" class="h1-class" style="color: yellow;">PHP小刚的日志1</h1>
  21. <h1 id="h1-id" class="h1-class">PHP小刚的日志2</h1>
  22. <h1 class="h1-class">PHP小刚的日志3</h1>
  23. </body>
  24. </html>

实际效果图
样式优先级

由此可知样式优先级:

style中设置的样式 > css中#id样式 > css中.class样式 > 标签选择器样式


获取html元素方式

  • window.document document对象

  • window.document.URL document对象中的url属性,URL大写

  • window.document.doctype document的类型

  • window.document.head document对象中head属性

    由于 window 是全局对象,以上代码可以省略 window ,那么,在浏览器控制台输出 document对象我们可以这么写

  • console.log(docement.documentElement) 输出html对象

  • console.log(document.body) 输出body对象

  • console.log(document.doctype) 输出html类型字符串

  • console.log(document.styleSheets) 输出样式表

  • console.log(document.scripts) 输出脚本对象

  • console.log(document.currentScript) 输出当前正在执行的脚本

    注意:这种方式无法获取到body中的标签,如 <h1><p><div><ul>

    要获取body中的标签元素对象需要使用到javascript中的方法

  • getElementById() 通过id的值获取

  • getElementsByClass() 通过class的值获取,注意Elements的复数区别

  • getElementsByTagName() 通过元素名称获取,如 <h1> 中的 h1

    在控制台中输出

  • console.log(document.getElementById("id-name")) 用id选择器获取元素

  • console.log(document.querySelector("#h1-class")) 用css选择器获取元素

    来看部分javascript方法样例

    1. // 通过id获取元素,总返回第一个
    2. function eleid() {
    3. const ele = document.getElementById("h1-id");
    4. console.log(ele);
    5. return;
    6. }
    7. // 通过class获取元素,返回一个集合
    8. function elesclass() {
    9. var els = document.getElementsByClassName("h1-class");
    10. console.log(els[0]);
    11. console.log(els[1]);
    12. console.log(els[2]);
    13. return;
    14. }
    15. // 通过标签获取元素,返回一个集合
    16. function elestag() {
    17. var elst = document.getElementsByTagName("h1");
    18. console.log(elst);
    19. return;
    20. }
    21. // 通过css样式获取元素
    22. function elescss() {
    23. // 获取满足条件的第一个
    24. var elscssid = document.querySelector("#h1-id");
    25. // 获取满足条件的所有
    26. var elscssclass = document.querySelectorAll(".h1-class");
    27. console.log(elscssid);
    28. console.log(elscssclass);
    29. return;
    30. }

    可以使用html按钮点击事件来调用它们

    1. <button onclick="eleid()">eles</button>
    2. <button onclick="elesclass()">els</button>
    3. <button onclick="elestag()">elstag</button>
    4. <button onclick="elescss()">elscss</button>

总结:

  1. 对于html结构有清晰的认识,各个部分的作用是什么

  2. 认识css样式是如何生效的

  3. 样式优先级顺序要符合要求,避免重复设置样式

  4. 通过javascript脚本获取元素时,对象不同,获取方式不同

  5. 在html中的元素输出要注意单数复数问题,这取决于获取结果的数量

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议