当前位置: 首页 > 网络学院 > XML相关教程 > XML DOM > previousSibling 属性

XML DOM
DOM 节点
DOM 节点列表
DOM 解析
DOM 遍历节点树
DOM Mozilla 和 IE
DOM 获取节点
DOM 设置节点
DOM 删除节点
DOM 更换节点
DOM 建立节点
DOM 添加节点
DOM 克隆节点
DOM 节点类型
DOM Node
DOM NodeList
DOM NamedNodeMap
DOM Document
DOM DocumentType
DOM ProcessingInstr
DOM Element

XML DOM 中的 previousSibling 属性


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-03-04   浏览: 327 ::
收藏到网摘: n/a

Definition and Usage
定义和用法

The previousSibling property returns the previous sibling node (the previous node in the same tree level) of the selected element
previousSibling 属性的作用是:返回已选元素的上一个同属节点(同级节点中的上一个)。

If there is no such node, this property returns null.
如果不存在这样的节点,那么该属性将返回null[空值]。

Syntax
语法

elementNode.previousSibling
 

Tips and Notes
提示和注意点

Note: Internet Explorer will skip white-space text nodes that are generated between nodes (e.g. new-line characters), while Mozilla will not. So, in the example below, we have a function that checks the node type of the previous sibling node.
注意:IE将跳过在节点之间产生的空格文档节点(如:换行字符),而Mozilla不会这样。在下面的案例中,我们将书写一个用于检测上一个同属节点的节点类型的函数。

Element nodes has a nodeType of 1, so if the previous sibling node is not an element node, it moves to the previous node, and checks if this node is an element node. This continues until the previous sibling node (which must be an element node) is found. This way, the result will be correct in both Internet Explorer and Mozilla.
元素节点包含的节点类行为1,因此,如果上一个同属节点不是元素节点,那么它将自动移动到再上一个节点并检测该节点是否是一个元素节点;这样的过程将一直持续下去直到发现的下一个同属节点是元素节点为止。通过使用这个方法,在IE浏览器或Mozilla浏览器中显示的结果就会同时正确。

Tip: To read more about the XML DOM differences between IE and Mozilla browsers, visit our Mozilla vs. IE chapter.
提示:如果你想获取更多关于XML DOM在IE和Mozilla浏览器中的不同,那你可以访问“Mozilla vs. IE ”这章。


In all examples, we will use the XML file books.xml, and the JavaScript function loadXMLDoc().
在所有案例中,我们将使用“books.xml”文件以及JavaScript 函数“loadXMLDoc()”。

Example
案例

The following code fragment gets the previous sibling node from the first <author> element in the XML document:
下面的代码片断将获取XML文档中第一个<author>元素的前一个同属节点:

//check if the previous sibling node is an element node
function get_previoussibling(n)
{
var x=n.previousSibling;
while (x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("author")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_previoussibling(x);
document.write("<br />Previous sibling: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);

The output of the code above will be:
上述代码将输出下面的结果:

author = Giada De Laurentiis
Previous sibling: title = Everyday Italian


Try-It-Yourself Demos
自我演示

previousSibling - Get the previous sibling of a node
previousSibling - 获取上一个同属节点

nextSibling - Get the next sibling of a node
nextSibling - 获取下一个同属节点

评论 (0) All

登陆 | 还没注册?