JS它DOM

JS它DOM

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

DOM:document object model。文档对象模型。它主要由许多节点。而基于JS对象的一切视角,DOM核心是节点对象和操作方法的属性。从下面三方面来介绍DOM。

一、节点查找与操作

     这部分表面看起来有些碎,但细细挖掘还是有非常大规律可循的。

见导图:

    JS它DOM

二、DOM之CSS样式

   对于这部分的内容,涉及到的也是CSS样式的获取和操作。

获取:

     1.行内:

	var box=document.getElementById('box');
	alert(box.style.width);

     2.rule获取

	var sheet=document.styleSheets[0];
		var rule=(sheet.cssRules|| sheet.rules)[0];
		alert(rule.style.width);

    3.计算获取  

	var style = window.getComputedStyle ?
	window.getComputedStyle(box, null) : null || box.currentStyle;//考虑各浏览器兼容  
	style.width; 
       style.height

操作:实现跨浏览器兼容操作

    1.插入

functioninsertRule(sheet,selectorText,cssText,position){
    if(sheet.insertRule){
      sheet.insertRule(selectorText+'{'+cssText+'}',position);                                                                     }else if(sheet.addRule){                                                                                                              sheet.addRule(selectorText,cssText,position);
}

   2.删除

function deleteRule(sheet,position){
 if (sheet.deleteRule){ //假设这样的方式存在
    sheet.deleteRule(position); //非IE
}else if(sheet.removeRule){
	sheet.removeRule(position);
}

   3.改动:通过赋值,来改动CSS样式

		window.onload=function(){
			//跨浏览器兼容rules
			var sheet=document.styleSheets[0];
			var rules=sheet.cssRules || sheet.rules;
			var rule1=rules[0];
			rule1.style.color='green'; //这样的能够在链接CSS样式中改动详细的属性
			var box=document.getElementById('box');
			box.style.color='blue'; //这样的方法改动的是行内样式
		}


小结:针对于CSS样式不管是属性获取还是对它操作。都能够分为三种情况行内,rule,和计算。而这三种仅仅有行内和rule操作为可读可写,计算样式仅仅供获取,不能进行改动。

三、元素尺寸和位置

   通过上述CSS样式的方式,我们也是能够获取DOM中各个元素的尺寸和位置的,但有一个弊端:当元素中存在pading,margin这些样式设计时,这些方法便不能获得一些元素真正的大小和位置。

JS中提供了专门儿用于获取元素尺寸和大小的方法。

实际大小:针对于元素的实际大小。主要与四个因素有关,padding。margin,border,scroll。而以下提供的几种方法,针对于不同的因素。会有不同的结果,仅依据需求使用就可以

   JS它DOM

周边大小:

 JS它DOM

    

 

   小结:DOM是JS学习的一个核心内容。当中涉及到的元素节点的属性和基本操作也是前台页面中最重要的组成,通过这些,才干使JS中基于对象的思想发挥作用。能够说,B/S UI页面中的一切都是建立在这些元素的基础之上的。


版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117381.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Opencv人脸识别项目简介

    Opencv人脸识别项目简介Opencv人脸识别Project综述项目要求使用opencv实现对人脸库的主成分提取(不使用PCA类),完成特征模型保存对一张测试照片进行识别,找到图片库中和测试图片最像的图配置说明Opencv3.0VS2015Win10配置过程网上太多了,就不做过多解释了,可以参照某个教程来做。主要的也就几步,下载Opencv,配Path,配置VC++目录的包含目录和库目录,配置链接器附加项的附

    2022年6月5日
    40
  • cover letter 和response letter的写法

    cover letter 和response letter的写法http://emuch.net/bbs/viewthread.php?tid=988184&fpage=1投稿感受和体会bydingdang15fromemuch投稿感受和体会bydingdang15fromemuch几个月前认识了小木虫网站,从此就喜欢上了这里.每天有空都上这里,看一下虫友发表论文的经验,体会,怎么投稿,怎么回复审稿人的意见等,还有热心虫友提供的英文

    2022年5月1日
    39
  • xshell 在Oracle SQL Plus backspace键 变为 sele^H^H^H

    xshell 在Oracle SQL Plus backspace键 变为 sele^H^H^Hxshell在OracleSQLPlus backspace键变为sele^H^H^H问题描述:用Xshell登录进入linux后,在普通模式下或进入SQLPlus 模式下,对输入进行删除等操作没有问题.而在运行中,按delete,backspace键时会产生^H等乱码问题.这是因为编码不匹配的问题.解决方法:方法1:

    2025年5月28日
    2
  • fiddler手机抓包 443「建议收藏」

    fiddler手机抓包 443「建议收藏」安装证书常规设置之后仍然抓不到包:https://blog.csdn.net/lx_zsdong/article/details/82257698

    2022年6月17日
    42
  • 给你个使用NAS私有云服务器的理由

    给你个使用NAS私有云服务器的理由  当我们的电脑硬盘或者手机内存被占满之后,可能很多人第一时间想到的就是用网盘或者U盘来进行扩充,但现如今相对于网盘和U盘更多的人愿意选择和使用外接式硬盘来进行资料备份和存储。是的,虽然外接式硬盘比网盘和U盘更安全,其实那只是你不知道有一种叫NAS存储服务器的情况才会想到外接式硬盘,NAS存储服务器在今年来不断被人们所接受!网盘充当着公有云的角色,NAS存储服务器充当着私有云的角色!  NAS…

    2022年6月29日
    35
  • Android OCR文字识别 实时扫描手机号(极速扫描单行文本方案)

    Android OCR文字识别 实时扫描手机号(极速扫描单行文本方案)遇到一个需求,要用手机扫描纸质面单,获取面单上的手机号,最后决定用tesseract这个开源OCR库,移植到Android平台是tess-twoAndroid平台tess-two地址:https://github.com/tesseract-ocr我把手机号扫描的算法封装了一下,Demo地址:http://blog.csdn.net/mr_sk/article/details/790772

    2022年6月10日
    65

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号