nextSibling和lastSibling】的更多相关文章

在FireFox中包含众多空格作为文本节点,因此在我们使用nextSibling和previousSibling时就会出现问题.因为FireFox会把文本节点误当做元素节点的兄弟节点来处理.我们可以添加nodeType来判断.当上一节点或者是下一节点为文本节点时,就继续寻找,直到找到下一个元素节点.以下代码仅供参考,在fireFox中测试通过: //下一个兄弟节点 function nextSibling(node) { var tempLast = node.parentNode.lastCh…
这几天看书看到这几个属性做几个笔记 parentNode:顾名思义,就是获取某元素的父元素等同于jq的parent(). *注意一下,在调用parentNode 方法的时候 调用的对象必须是用ID 或是精确地获取的对象(要么getElementById 要么 ByTagName然后加上获取对象的下标[index]),不然会出现undefined 的错误 lastChild:获取最后一个子元素. appendChild:在某元素内最后面添加一个子元素. insertBefore:在某元素外的 前面…
<body> <ul id="ul1"> <li>11111</li> <li>22222</li> <li>33333</li> <li>44444</li> </ul> </body> 1,firstChild:第一个子节点. 标准下:firstChild会包含文本类型的节点 非标准下(IE7以下):fistChild只包含元素节点 var…
在IE下是支持firstChild,lastChild,nextSibling,previousSibling 但是在FF下,由于它会把标签之间的空格当成文本节点,所以为了准确地找到相应的元素,会用 firstElementChild, lastElementChild, nextElementSibling, previousElementSibling 兼容的写法是这样的 var oFirst = oParent.firstElementChild||oParent.firstChild  …
Firefox中 空白字符,比如回车,空格等也算作一个Node 就是firstChild,nextsbiling这两个.下面给出函数吧.还是代码比较说明问题代码都是网上来的.不过要注意的是,getNext和getFirstChild是不一样的next是下一个,同级别的下一个,不会取到自己这个节点的子节点. 可能是因为对dom的理解不一样ie和firefox对firstChild,nextSbiling的处理不太一样.所以要取到下一个结点,只能用type来判断了. function getNext…
function next(ele) { if (typeof ele.nextElementSibling == 'object') { return ele.nextElementSibling; } var n = ele.nextSibling; while (n) { if (n.nodeType == 1) { return n; } n = n.nextSibling; } return n; } nextSibling是获取当前节点的下一个节点. 这个函数第一个检测,ele下一个…
其中属性.元素(标签).文本都属于节点 <title></title> <scripttype="text/javascript"> window.onload= function () { //找d1的所有子节点  //1childNodes获取所有的子节点获取文本节点和元素节点 vard1 = document.getElementById("d1"); for(i=0;i<=d1.length;i++) //alert…
JavaScript中的nextSibling和previousSibling和作用类似于jquery的next()和prev(),都是获取下一个/上一个同胞元素,如果下一个同级节点不存在,则此属性返回值是null.但是具体的使用中还是有差异的,如果注意.就会引起错误 html结构中的各种空格,换行符都可能会把文本节点当做同胞元素处理.这就会导致错误. 例如下面代码 <!DOCTYPE html> <html lang="en"> <head> &l…
1:nextSibling属性 该属性表示当前节点的下一个节点(其后的节点与当前节点同属一个级别):如果其后没有与其同级的节点,则返回null. 需要特别注意的是:该属性在不同的浏览器中的执行结果并不都相同,见下面例示: 先来看一个例子: 该对象的结构表面上看,div的nextSibling只有2项——两个input节点.但实际上有5项——/n,input,/n,input,/n.这是因为input作为创建各种表单输入控件的标签,无论是生成button.checkbox.radio...等或其他…
在使用nextSibling与previousSibling时,常出现选不到预计对象的情况 eg: <div class="a">1</div> <div class="b" onclick= "aa(this)">2</div> function aa(obj){ console.log(obj.previousSibling); } 输出的居然是文本对象,若更改dom,去除空格 <div…