Node节点
1、Node:节点
元素节点->HTML标签
文本节点->文字 但是在标准浏览器(除了IE6~8)中会把空格和换行都当做文本节点来处理
注释节点->注释
document
2、节点的特征
元素节点:
nodeType->1 nodeName->大写的标签名 nodeValue->null
文本节点:
nodeType->3 nodeName->#text nodeValue->文本内容
注释节点:
nodeType->8 nodeName->#comment nodeValue->注释内容
document:
nodeType->9 nodeName->#document nodeValue->null
3、节点之间关系的属性
childNodes:获取所有的子节点(既有元素的,也有文本和注释的)
children:获取所有的元素子节点 ->在IE6~8下我们获取的结果不完全准
parentNode:获取父亲节点
previousSibling:获取上一个哥哥节点(可能是元素也可能文本或者注释)
previousElementSibling:获取上一个元素哥哥节点(肯定是元素节点) ->在IE6~8下不兼容
nextSibling:获取下一个弟弟节点
nextElementSibling:获取下一个元素弟弟节点 ->在IE6~8下不兼容
firstChild:获取所有子节点中的第一个(不一定是元素)
firstElementChild:获取所有元素子节点中的第一个(一定是元素节点) ->在IE6~8下不兼容
lastChild:获取所有子节点中的最后一个(不一定是元素)
lastElementChild:获取所有元素子节点中的最后一个(一定是元素节点) ->在IE6~8下不兼容
//获取指定元素下的所有元素子节点
//思路:先获取所有的子节点,然后我们在把其中的元素子节点(nodeType等于1)单独的获取到
function queryChildren(curEle) {
var ary = [];//->先弄个容器用来存储我们需要的元素子节点
var allNodes = curEle.childNodes;//->获取所有的子节点
//循环遍历每一个子节点,把元素节点单独的存储到ary这个容器中
for (var i = 0; i < allNodes.length; i++) {
var cur = allNodes[i];
if (cur.nodeType === 1) {
//ary.push(cur);
ary[ary.length] = cur;
}
}
return ary;
}
//获取上一个元素哥哥节点
function prev(curEle) {
//兼容的话直接用,函数体中遇到return就不在执行了
if (curEle.previousElementSibling) {
return curEle.previousElementSibling;
}
//不兼容我们自己用while循环一级级的查找
var pre = curEle.previousSibling;
while (pre && pre.nodeType !== 1) {//->获取的节点存在并且不是元素节点,我们就一直循环向上找
pre = pre.previousSibling;
}
return pre;
}
Node节点的更多相关文章
- 层次节点——NODE节点
1.html <!DOCTYPE html> <html> <head lang="en"> <meta charset="UT ...
- Kubernetes移除node节点
1.kubectl delete node {{节点名称}} 2.删除node节点上由kubelet自动生成的kubelet.kubeconfig配置文件,和ssl密钥证书kubelet.key,ku ...
- 二进制安装 kubernetes 1.12(四) - 部署 Node 节点组件
在 master 上操作 vi /etc/profile export PATH=/opt/kubernetes/bin:$PATH source /etc/profile 将 kubelet-boo ...
- Kubernetes集群部署之五node节点部署
Node节点是Kubernetes集群中的工作负载节点.每个node都会被master分配一些工作负载,每个node节点都运行以下关键服务进程.Kubelet :负责pod对应的容器的创建.启停等任务 ...
- NodePort 只能在node节点上访问,外部无法访问
创建了一个NodePort类型的jenkins service,node port 30000,node节点ip为192.168.56.101, 在node节点上通过浏览器能正常访问http://19 ...
- kubernetes集群搭建(4):node节点安装
下列所有操作需要在所有node节点上操作,并注意红色部分的修改 1.node节点不需要安装etcd来存储相关信息 yum -y install flannel kubernetes 2.修改flann ...
- 08-部署node节点
部署kubernetes node节点 kubernetes node 节点包含如下组件: Flanneld: 省略,参照之前部署的文档 Docker1.12.5: 省略,参照之前部署的文档 kube ...
- k8s集群添加node节点(使用kubeadm搭建的集群)
1.安装docker.kubelet.kubectl.kubeadm.socat # cat kubernets.repo[kubernetes]name=Kubernetesbaseurl=http ...
- Kubernetes1.91(K8s)安装部署过程(六)--node节点部署
hi,everybody,我回来了,之前安装到flannel之后,文章一直没有更新,甚至不少小伙伴都来加qq询问是否继续更新了, 这里说明下原因,我在部署1.91node的时候的确出现了各种各样的问题 ...
随机推荐
- 【开源】专业K线绘制[K线主副图、趋势图、成交量、滚动、放大缩小、MACD、KDJ等)
这是一个iOS项目雅黑深邃的K线的绘制. 实现功能包括K线主副图.趋势图.成交量.滚动.放大缩小.MACD.KDJ,长按显示辅助线等功能 预览图 最后的最后,这是项目的开源地址:https://git ...
- linux系统维护时的一些小技巧,包括系统挂载新磁盘的方法!可收藏!
这里发布一些平时所用到的小技巧,不多,不过会持续更新.... 1.需要将history创建硬链接ln 全盘需要备份硬链接 ln /etc/xxx /home/xxx 2.root用户不可以远程 /et ...
- Windows Server 2008 R2 下配置TLS1.2,添加自签名证书
前言 2017年1月1日起App Store上的所有App应用将强制开启ATS功能. 苹果的ATS(App Transport Security)对服务器硬性3点要求: ① ATS要求TLS1.2或者 ...
- linux字符串url编码与解码
编码的两种方式 echo '手机' | tr -d '\n' | xxd -plain | sed 's/\(..\)/%\1/g' echo '手机' |tr -d '\n' |od -An -tx ...
- 理解JavaScript中的“this”
对于javascript的初学者来说,一般对“this”关键字都感到非常迷惑.本文的目的旨在让你全面的了解“this”,理解在每一个情景下如何使用“this”,希望通过本文,可以帮助同学们不在害怕“t ...
- EasyPR--开发详解(8)文字定位
今天我们来介绍车牌定位中的一种新方法--文字定位方法(MSER),包括其主要设计思想与实现.接着我们会介绍一下EasyPR v1.5-beta版本中带来的几项改动. 一. 文字定位法 在EasyPR前 ...
- LeetCode-2AddTwoNumbers(C#)
# 题目 2. Add Two Numbers You are given two linked lists representing two non-negative numbers. The di ...
- 【MSP是什么】MSP认证之成功的项目群管理
同项目管理相比,项目群管理是为了实现项目群的战略目标与利益,而对一组项目进行的统一协调管理. 项目群管理 项目群管理是以项目管理为核心.单个项目上进行日常性的项目管理,项目群管理是对多个项目进行的总体 ...
- Winform下CefSharp的引用、配置、实例与报错排除(源码)
Winform下CefSharp的引用.配置.实例与报错排除 本文详细介绍了CefSharp在vs2013..net4.0环境下,创建Winfrom项目.引用CefSharp的方法,演示了winfro ...
- Js删除数组重复元素的多种方法
js对数组元素去重有很多种处理的方法,本篇文章中为网络资源整理,当然每个方法我都去实现了:写下来的目的是希望自己活学活用,下次遇到问题后方便解决. 第一种 function oSort(arr){ v ...