js 找到子元素的父元素

JavaScript037

js 找到子元素的父元素,第1张

一、原生方法:

元素parentNode,返回元素的第一个父节点。

二、Jquery方法:

1、元素parent(),返回元素的第一个父节点。

2、元素parents(),返回一个包含元素所有父节点的数组。

1.document.getElementById("id名")

通过id属性的值查找,返回满足条件的第一个元素

2.document.getElementsByTagName("标签名")

通过标签名来获取页面中的元素。返回的是多个标签。

并不是真正的数组,但是我们可以想操作数组一样操作他(类数组)

3.document.getElementsByClassName("class名")

通过类名来获取页面中的元素。返回的也是多个标签

4.document.getElementsByName("表单元素name")

通过表单的name属性的值来获取元素

5.document.querySelector("div p a")

匹配指定 CSS 选择器的 第一个元素 。 如果没有找到,返回 null。

6.document.querySelectorAll("div")

获取所有满足条件的元素

7.三个特殊节点

8.childNodes 所有节点。包括各种节点

9.fristChild 获取一个元素的第一个子节点

10.lastChild 获取一个元素的最后一个子节点

11.parentNode 获取一个元素的父节点

12.previousSibling 获取一个元素的上一个兄弟节点

13.nextSibling 获取一个元素的下一个节点

14.children 只获取子元素

15.firstElementChild 获取第一个元素子节点

16.lastElementChild 获取最后一个元素子节点

17.nextElementsibling 获取下一个元素兄弟节点

18.previousElementsibling 获取上一个元素兄弟节点

19.parentElement 获取父元素节点

20.childElementCount 获取子元素的个数

1.document.createElement(元素名) 创建一个元素节点

2.document.createTextNode("这是新创建的一段文本") 创建一个文本节点

3.appendChild() 添加元素到容器中

4.insertBefore() 在一个节点前插入新节点

5.removeChild() 删除子节点

6.replaceChild() 替换子节点

7.cloneNode() 克隆节点 传入true则复制所有节点

8.setAttribute() 给元素设置属性

参数1:属性的名

参数2:属性的值

如果属性不存在,则添加;存在,则修改

9.romveAttribute() 删除属性

参数:要删除的属性名

10.getAttribute() 获取属性的值

参数:属性名

11.访问 元素 id 名

box.id

12.访问 元素 class 名

box.className

box.classList 类数组

13.获取标签名

box.tagName

box.nodeName

14.innerHTML属性

innerHTML 属性设置或返回标签的开始和结束标签之间的 HTML。

值为为文本

15.innerText属性

16.outerHTML

跟innerHTML相比多包括了一个它自身

1.访问行内(内联)样式表

2.内部样式表和外部样式表的获取

getComputedStyle()

参数1:表示样式表所属的元素

参数2:如果获取的是伪元素的样式,传入伪元素,正常元素传入null 或不传

兼容性问题

3.获取元素实际的宽高

offsetWidth 宽

offsetHeight 高

4.获取元素参考父容器的left 和 top

offsetLeft 距离左部

offsetTop 距离上部

offsetParent 查找这个元素的参照父容器

我们的目的是通过 id 为 item1 的便签a取到 class 为 parent1 的ul元素,有以下几种方法:1、parent([expr])取得一个包含着所有匹配元素的唯一父元素的元素集合。你可以使用可选的表达式来筛选。代码如下<pre class="brush: js">$('#item1').parent().parent('.parent1')</pre>2、:parent匹配含有子元素或者文本的元素代码如下<pre class="brush: js">$('li:parent')</pre>3、parents([expr])取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。代码如下<pre class="brush: js">$('#items').parents('.parent1')</pre>4、closest([expr])closest会首先检查当前元素是否匹配,如果匹配则直接返回元素本身。如果不匹配则向上查找父元素,一层一层往上,直到找到匹配选择器的元素。如果什么都没找到则返回一个空的jQuery对象。closest和parents的主要区别是:1,前者从当前元素开始匹配寻找,后者从父元素开始匹配寻找;2,前者逐级向上查找,直到发现匹配的元素后 就停止了,后者一直向上查找直到根元素,然后把这些元素放进一个临时集合中,再用给定的选择器表达式去过滤;3,前者返回0或1个元素,后者可能包含0 个,1个,或者多个元素。closest对于处理事件委派非常有用。<pre class="brush: js">$('#items1').closest('.parent1')</pre