我用一个简单的DOM解析器功能赶使用jQuery XPath选择
例如文档的所有节点的XPath的资料,HTML是:
<div>
<div>Everyday People</div>
<div>My name is ACE</div>
<div>Hello world</div>
</div>
解析DOM存储阵列arr
XPath中信息:
<script type="text/javascript" src="js/jquery/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery/js/xpath-selector.js"></script>
<script type="text/javascript">
function get_XPath(elt)
{
var path = '';
for (; elt && elt.nodeType == 1; elt = elt.parentNode)
{
var idx = $(elt.parentNode).children(elt.tagName).index(elt) + 1;
idx > 1 ? (idx='[' + idx + ']') : (idx='');
path = '/' + elt.tagName.toLowerCase() + idx + path;
}
return path;
}
var arr = Array();
htmlDoc = document;
x = htmlDoc.documentElement.childNodes;
for (i=0; i<x.length; i++)
{
arr.push(get_XPath(x[i]));
}
</script>
后来在脚本我使用存储在arr
的值来执行如显示,隐藏或改变续一些功能节点。
<script>
for(i=0;i<arr.length;i++)
{
//catch the object reference with the XPath info
$(arr[i])
}
</script>
在上面的片段中,我发现了一个对象,但我无法获取对象引用使用它类似:
$(arr[i]).text();
任何帮助将是极大的欢迎。任何人都在使用jQuery XPath选择器?
我知道这个解决方案,但我想知道,如果存储对象的引用比存储xpath informtaion更耗费资源.. sya如果文档很大,那么存储对象引用可能会对资源征税并使应用程序更慢......我是否正确?请分享您的看法...因为我不是JavaScript专家 – Annibigi 2009-05-25 10:28:46