操作Dom中的子元素与兄弟元素的代码

首先,我们必须正确的理解什么是子元素.比如我们在网页里写了一个span标签. 并且在span里写入文本内容:"欢迎光临我们",那么这个文本内容就是span的子元素.相同,如果span被某个div所包含.那么span就是该div的子元素.看下面这段代码:

正确认识子元素

欢迎光临我们

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

从上面的代码可以看出来"欢迎光临我们"与span都被包含在一个div中.但是你无法在div中直接引用"欢迎光临我们"这段文字内容.我想要告诉你的就是:在获取子元素时,不可以跨级获取. 子元素只能被直接父元素所引用!同理,这个div也算是body标签中的一个子元素.但你无法直接在body中获得span标签.你必须在body中获得div然后再取span.看下面的实例演示:

正确获取子元素

欢迎光临我们

function get_div(){
var body=document.body;//引用body标签
var div=body.firstChild;//获取body中第一个子元素
alert(div.tagName);
}
//获取span函数
function get_span(){
var div=document.getElementsByTagName("div");//获取页面所有div标签
var span=div[0].firstChild;//获取第一个div中的第一个子元素
alert(span.tagName);
}
//获取文字内容
function get_text(){
var body=document.body;//获取body
var div=body.firstChild;
var span=div.firstChild;
var text=span.firstChild.nodeValue;
alert(text);
}

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

我列举一下Dom中获取子元的几个方法:

获取当前元素中第一个子元素的方法是:firstChild
获取当前元素中最后一个子元素的方法是:lastChild
获取当前元素中所有的子元素的方法是:childNodes
提示:在处理子元素时.会遇到空格问题.因为我上面的代码body与div之间.div与span之间都没有换行符,所以这个问题可以避免.但你不能在输写代码时总不换行吧. 在FF等浏览器中行与行之间会形成一个空格元素.他们会把这些空格也看作一个有效的元素来处理,请参阅:Dom技巧之空格过滤
理解完子元素.我们再讲一下什么是兄弟元素.从字面上你应该能理解的差不多.所谓的兄弟的元素,其实就是拥有同一个父元素的元素之间互称为兄弟元素.看下面代码:

理解兄弟元素

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

上面的代码演示了:在一个div标签中包含了div,span,a这些元素,那么这些被包含的div,span,a就可以相互称之为兄弟元素,因为他们都被同一个父元素所包含!
下面我们再来演示一下如何获取兄弟之间的元素:

理解兄弟元素

var span=document.getElementById("s");//获取span元素
alert("span的上一个兄弟元素为"+span.previousSibling.tagName);
alert("span的下一个兄弟元素为"+span.nextSibling.tagName);

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

在上面的代码中我们为span元素设置了一个id属性.也许你还不知道,如果想快速获取某个元素,你应该为元素设置一个id属性.然后根据id属性的值使用getElementById方法来获取.
在获取了span元素以后我们分别使用了以下的Dom方法,来获取span的上一个兄弟元素div,和下一个兄弟元素a

在Dom中使用previousSibling方法可以获取当前元素的上一个兄弟元素
在Dom中使用nextSibling方法可以获取当前元素的下一个兄弟元素
针对FF浏览中在获取兄弟元素时也会出现空格问题.请参阅:Dom技巧之空格过滤 通过本文的讲.你应该能正确的认识或操作子元素与兄弟元素.如需转载,请务必保留以下信息:
本文版权:Web圈 首发地址:http://www.web666.net/dom/dom_6.html

(0)

相关推荐

  • 操作Dom中的子元素与兄弟元素的代码

    首先,我们必须正确的理解什么是子元素.比如我们在网页里写了一个span标签. 并且在span里写入文本内容:"欢迎光临我们",那么这个文本内容就是span的子元素.相同,如果span被某个div所包含.那么span就是该div的子元素.看下面这段代码: 正确认识子元素 欢迎光临我们 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 从上面的代码可以看出来"欢迎光临我们"与span都被包含在一个div中.但是你无法在div中直接引用"欢迎光临我们"这段文字内容.我想要告诉你的就是:在获取

  • JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法

    最近工作中总遇到取各种父啊子啊兄弟姐妹啊,每次都得查,这次整理个全乎的~ 先给大家上干货: [js的获取方式] <div id = "dom">          <div></div>           <div></div>      <div></div>  </div> function dom(){ var a = document.getElementByIdx_x_x(&qu

  • 整理JavaScript对DOM中各种类型的元素的常用操作

    节点类型 nodeType 以下是一些重要的nodeType的取值: 1: 元素element 2: 属性attr 3: 文本text 8: 注释comments 9: 文档document nodeName,nodeValue 节点关系 childNodes: 每个节点都有一个childNodes属性,其中保存着一个NodeList对象 firstChild: 等同于childNodes[0] lastChild: 等同于childNodes.length-1 同时通过使用列表中每个节点的pr

  • jQuery 获取兄弟元素的几种不错方法

    获取指定元素的兄弟元素时,可以使用adjacent sibling combinator (+),其中+的两侧内容都是selector expression. 如果要获取下例中所有的 h1的直接兄弟元素h2 复制代码 代码如下: <div> <h1>Main title</h1> <h2>Section title</h2> <p>Some content...</p> <h2>Section title<

  • JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例

    本文实例讲述了JS实现DOM节点插入操作之子节点与兄弟节点插入操作.分享给大家供大家参考,具体如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>www.jb51.net JS节点插入</title> <script> function showinsert(){ //添加子节点 var str=document.getElem

  • js基础之DOM中元素对象的属性方法详解

    在 HTML DOM (文档对象模型)中,每个部分都是节点. 节点是DOM结构中最基本的组成单元,每一个HTML标签都是DOM结构的节点. 文档是一个    文档节点 . 所有的HTML元素都是    元素节点 所有 HTML 属性都是    属性节点 文本插入到 HTML 元素是    文本节点 注释是    注释节点. 最基本的节点类型是Node类型,其他所有类型都继承自Node,DOM操作往往是js中开销最大的部分,因而NodeList导致的问题最多.要注意:NodeList是'动态的',

  • js与jquery获取父级元素,子级元素,兄弟元素的实现方法

    先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 原生的JS获取ID为test的元素下的子元素.可以用: 比如: <div id="dom">    <div></div>    <div></div>    <div></div></div> var

  • jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结

    如下图,显示了HTML中的结构树,通过 JQuery 遍历,您能够从被选(当前的)元素开始,轻松地在家族树中向上移动(祖先),向下移动(子孙),水平移动(同胞).这种移动被称为对 DOM 进行遍历. 遍历 - 父级(祖先) 向上遍历DOM数. 通过如下三个方法,我们可以获取父级元素: parent() parents() parentsUntil() 1.JQuery parent() parent() 方法返回被选元素的直接父元素. 该方法只会向上一级对 DOM 树进行遍历. <section

  • jQuery获取父元素节点、子元素节点及兄弟元素节点的方法

    本文实例讲述了jQuery获取父元素节点.子元素节点及兄弟元素节点的方法.分享给大家供大家参考,具体如下: 先来看这段html代码,整个取节点(父.子.兄弟等)的方法都是围绕这段代码来的: <ul class="par"> <li id="firstli"> <h3 class="title">条目一</h3> <ul class="par"> <li id=&

  • Js操作DOM元素及获取浏览器高宽的简单方法

    在JavaScript中,经常会来获取Document文档元素,是 HTML 文档对象模型的英文缩写,Document Object Model for HTML,是基于浏览器编程,HTML DOM 定义了用于 HTML 的一系列标准的对象,以及访问和处理 HTML 文档的标准方法. 通过 DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性.可以对其中的内容进行修改和删除,同时也可以创建新的元素.HTML DOM 独立于平台和编程语言.它可被任何编程语言诸如 Java.JavaS

随机推荐