当前位置: 首页 > 图文教程 > 网络编程 > Javascript > DOM 脚本编程中的兄弟节点

Javascript
自己开发Dojo的建议框架
js每次Title显示不同的名言
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
无限级别的菜单(侧拉菜单)
点选TOP后并不是直接跳到页顶的,而是滚动上去
js下拉菜单中自动信息轮换播放
英文首字母全大写的js实现脚本
实例区别onClick和onDBClick两事件方法
改变文本框字体颜色的js脚本
js星空效果代码
判断li是否有样式的js代码
文本框点击时文字消失,失去焦点时文字出现
如何让一个层关闭之后,就算刷新页面了也不显示。除非关闭页面再次打开
右下角弹出窗口效果代码
JS控制对象移动效果
验证用户是否修改过页面的数据的实现方法
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
EXT富客户端后台管理系统 初步代码
不同浏览器javascript变量作用域的处理方法

Javascript 中的 DOM 脚本编程中的兄弟节点


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 351 ::
收藏到网摘: n/a

兄弟节点之间可以通过 previousSibling 和 nextSibling 属性访问同一级别上的不同子节点。这个兄弟节点是元素还是文本节点在现代浏览器上运行是怎么样的呢? 除IE外的浏览器是将换行符作为内容的文本节点(nodeType为3)。而元素的话,nodeType为1。下面是查找它们的实用方法:
复制代码 代码如下:

lastSibling:function(node){
var tempObj = node.parentNode.lastChild;
while(tempObj.nodeType!=1 && tempObj.previousSibling!=null)
{
tempObj=tempObj.previousSibling;
}
return (tempObj.nodeType==1)?tempObj:false;
}

这是《深入浅出JavaScript》书中DOMhelp库中lastSibling方法的源码。与 mootools 库中实现源码差不多:
复制代码 代码如下:

'last-child': function(){
var element = this;
while ((element = element.nextSibling)){
if (element.nodeType == 1) return false;
}
return true;
}

这是在 Mootools 1.2.4 源码中的 last-child() 方法。