当前位置: 首页 > news >正文

2.3 js基础--DOM

一、javascript组成


        ECMAScript:核心解释器【为我们提供好了最基本的功能:变量声明、函数、语法、运算】。   兼容性:完全兼容。
 
        DoM:文档对象模型【document object Model】,document:操作界面的
                    比如:获取元素、修改样式、创建元素、
 
        BoM:  浏览器对象模型【Browser object Model】,操作浏览器 的,就是window.    
                    window.onload
                    window.alert
                    没有兼容性问题,基本不兼容,兼容不了。
 
二、DoM 
 
            DoM 
                                                document
                                                       |
 
1、    obj.TagName    获取标签名
(所有的字母都是大写的)
 
2、    obj.parentNode//获取父节点。
最大的祖宗是document,再往上就没有了null
3、    obj.childNodes//获取子节点【包括了文本 节点(换行等等)】。
                            节点类型:
                                        标签节点:1
文本节点:3默认的换行。
检测节点的类型。
nodeType:3【文本节点】
nodeType:1【标签节点】

4、    obj.children;//获取子节点。【只包括他 儿子不包括孙子】,是个数组。

 
5、     obj. previousSibling//获取上一个兄弟元素。至兼容ie 6,7,8.
           obj,previousElementSibling//高版本浏览器获得上一个兄弟元素。
 
“||”的妙用:​
如果两个都是真的既是真的。如果第一个是假的才会执行后面的。如果第一个是真的则执行。永远执行最后的那个。
 
var pre= previousElementSibling|| oOn.previousSibling//如果一真则真。前面兼容了后面就不执行了。
 

6、    obj.nextSibling;

          obj.nextElementSibling
           var next= nextElementSibling|| oOn.nextSibling;//长的写前边。
 
7、   obj.firstElementChild;//兼容高级浏览器
        obj.firstChild;//兼容ie 6 7 8
         var ofirst=obj.firtElementChild||obj.firstChild ;
 
8、    obj.lastElementChild;
         obj.lastChild;
          var la=obj.lastElementChild||obj.lastChild;
 
9、     物体信息3
            obj.offsetWidth:获取盒子模型的宽度   width+padding*2+border*2;
            obj.offsetHeight:获取盒子模型的高度
            obj.offsetLeft:获取元素 距离定位父级的左边距。没有right
            obj.offsetTop:获取元素距离定位父级的上边距。没有 bottom
  obj.offsetParent:获取定位父级。
总结:
    结构的最高父级最大是 document
    定位的最高父级最大是body
 

11、    document.createElement('div');//创建元素

             document.documentElement;//获取html标签。
             父级.appendChild(创建的元素)// 在父级的最后边添加了一个元素。
             父级.insertBefore(你要插入的元素,插入到谁之前);     
         【低版本浏览器父级.children.length==0时插入报错,所以判断】

转载于:https://www.cnblogs.com/wujiaolong/p/7306131.html

相关文章:

  • [译]新的web应用:播下web3.0的种子
  • NSSearchPathForDirectoriesInDomains
  • ArcGIS 切片缓存紧凑文件格式分析与使用
  • CS224d Problem set 2作业
  • 一个日志输出系统的设计
  • linux内核内存管理中的pagevec结构体
  • poj_2352 线段树
  • Mac周边环境 goBASIC语言HelloWorld
  • linux内存管理系统后期的内核对zonelist的简化
  • bzoj3809: Gty的二逼妹子序列
  • linux内核page结构体的PG_referenced和PG_active标志
  • 解決BufferedReader读取UTF-8文件中文乱码(转)
  • 问题以及发现问题和解决问题
  • bitmap格式分析(转)
  • 关于数组或集合中判断存在某个元素
  • Android开源项目规范总结
  • co模块的前端实现
  • echarts花样作死的坑
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • jdbc就是这么简单
  • overflow: hidden IE7无效
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • python大佬养成计划----difflib模块
  • use Google search engine
  • 对象管理器(defineProperty)学习笔记
  • 前言-如何学习区块链
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 鱼骨图 - 如何绘制?
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • #stm32驱动外设模块总结w5500模块
  • (02)vite环境变量配置
  • (3)llvm ir转换过程
  • (C++20) consteval立即函数
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (蓝桥杯每日一题)love
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (一)Thymeleaf用法——Thymeleaf简介
  • (一)为什么要选择C++
  • ..回顾17,展望18
  • .bashrc在哪里,alias妙用
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .net 按比例显示图片的缩略图
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .Net程序帮助文档制作
  • .NET中统一的存储过程调用方法(收藏)