js:dom

news/2024/7/19 15:19:55 标签: js

document -> html -> head body ->p ul
document.getElementById(‘ul1’)
oul.childNodes.length
oul.childNodes[i].style.backgroud=”red”
childNodes:包含元素节点和文本节点。 元素节点==1 文本节点==3 属性节点==2

这里写图片描述

children:只包含元素节点。

firstChild:标准下包含文本节点 ,非标准下只包含元素节点。只读属性。
firstElementChild:只读属性。标准没有。非标准有这个函数。
var oFirst = oul.firstElementChild || oul.firstChild; == oul.children[0]

lastChild:最后一个节点。
lastElementChild:

nextSibling:下一个兄弟节点。
nextElementSibling:

previousSibling:上一个兄弟节点。
previousElementSibling:

parentNode;父节点,只读属性。
var aA = document.getElementsByTagName(‘a’);//点击隐藏每一个a标签的父节点。
for(var i=0;i小于aA.length;i++){ aA[i].οnclick=function(){this.parentNode.style.display=’none’}}

offsetParent:有定位的最近一个父节点。position:relative

offsetLeft:只读属性。当前元素到定位父级偏移值。

offsetTop:

style.width:样式宽
style.height:
clientWidth:样式宽+padding
offsetWidth:样式款+padding+border

//累计offsetTop,求得div3到顶端距离 div3到div2距离 + div2到 div1距离 + div1到顶端距离。
var obj = div3;
var top = 0;
while(obj){ top+=obj.offsetTop; obj=obj.offsetParent }

//将 left top值封装成json 一起计算出来。
function getPos(obj){
var pos = {left:0,top:0}//定义一个json 或 一个对象
while(obj){ pos.left += obj.offsetLeft;pos.top += obj.offsetTop; obj = obj.offsetParent }
return pos;
}

动态创建操作元素:
var oli = document.createElement(“li”)
oli.innerHTML = oText.value;
oul.appendChild(oli);
oul.insertBefore(oli,oul.children[0]);
if(oul.children[0]){oul.insertBefore(oli,oul.children[0])}else{oul.appendChild(oli)}

removeChild:删除元素,父级调用。
var oA = document.createElement(‘a’);
oA.innerHTML=”删除”;
oA.href=”javascript:;”;
oA.onclick = function(){ oul.removeChild(this.parentNode)}

replaceChild:替换元素,父级调用。

getElementByClassName(‘box’):

document.getElementByTagName(‘*’) //获取页面全部元素

给元素增加加class属性
if(obj.className == ”){obl.className=className}else{obj.className+=’ ‘+className}
移除元素class属性


http://www.niftyadmin.cn/n/830862.html

相关文章

[ 系统篇 ] 嵌入式系统中磁盘空间占用率100%

系统OTA升级之后&#xff0c;发现/etc/config 分区占用率100%&#xff0c;着实郁闷&#xff0c;/etc/config 分配20M空间&#xff0c;实际占用的配置文件<1M, 怎么会磁盘占用率86%??? / # df -h Filesystem Size Used Available Use% Mounted on /…

[ 物联网篇 ] - MQTT协议是如何工作的 ?

MQTT是物联网项目中最常用的协议之一,全称是消息队列遥测传输。 此外&#xff0c;它被设计为轻量级消息传递协议&#xff0c;它使用发布/订阅操作在客户端和服务器之间交换数据。此外&#xff0c;它的小尺寸&#xff0c;低功耗&#xff0c;最小化数据包和易于实现使该协议成为…

[ Linux驱动炼成记 ] 13 - sysfs设备节点的创建

实际项目过程中应用层需要操作内核中GPIO, 除了应用层直接通过export方式操作&#xff0c;具体操作方法[Linux驱动炼成记] 02-用户空间控制GPIO, 还可以通过sysfs设备节点方式操作 具体实现之前可以阅读下 kernel/Documentation/zh_CN/filesystems/sysfs.txt 中关于sysfs相关知…

[ 编译篇 ] 嵌入式平台 使用GoogleTest框架测试C++代码

实际项目中写的应用层代码为了保证可靠性&#xff0c;需要编写一定的测试用例&#xff0c;进行单元测试。 这里以GoogleTest为例 &#xff0c;在嵌入式平台上(Amlogic A113x 平台)实现应用层代码的测试。 编译官方 GoogleTest 下载官方源码 git clone gitgithub.com:google…

android:PictureSelector

https://github.com/LuckSiege/PictureSelector https://github.com/yechaoa/PictureSelectorDemo PictureSelector 2.0 一款针对android平台下的图片选择器&#xff0c;支持从相册或拍照选择图片或视频、音频&#xff0c;支持动态权限获取、裁剪(单图or多图裁剪)、压缩、主…

[ 利器篇 ] - 抓取蓝牙广播包数据

实际项目中&#xff0c;需要抓取蓝牙广播包数据进行调试&#xff0c;除了专有的设备之外&#xff0c;也可以通过手机专用的蓝牙APP进行抓包测试&#xff0c;这里主要介绍 LightBlue 和 nRF Toolbox for BLE , 通过Goole Play 可以下载&#xff0c;同时也有IOS版本。 实际操作 …

2018年博客之星评选,需要您宝贵的一票!

非常荣幸入选CSDN博客之星候选&#xff0c;虽然比不上其他大佬那么优秀&#xff0c;但相差很远也得奋力一搏[捂脸][捂脸]&#xff0c;希望大家多多支持&#xff01; 投票地址 请投N0.25 『程序手艺人』一票&#xff01;

java:编码

编码&#xff1a;把计算机理解的语言&#xff0c;转换成人类理解的语言。 ASCLL码&#xff1a;通用的单字节编码表。255个字符。 计算机容量&#xff1a;8bit -> byte -> 1个byte 代表一个ascll码表上的一个字符。2个byte代表一个unicode表上的一个字符。 1024byte -&g…