自己动手用javascript写xpath
自己以前写过一篇文章,是关于dom下xpath的编写,不过那是借助浏览器本身的特性,这次我想用javascrip和正则表达式打造自己的xpath,不多啰嗦,看代码:
function xpath(n,m){
if(/\]$/i.test(m)){
var t1=[]
var reg=/^(\/\/|\/)(.+)\[(.+)\]$/i;
m.match(reg);
if(RegExp.$1=="/"){
var t2=n.childNodes;
for(var i=0;i<t2.length;i++){
if(t2[i].nodeType==1 && t2[i].tagName.toLowerCase()==RegExp.$2)
t1.push(t2[i]);
}
}else{
var t2=n.getElementsByTagName(RegExp.$2);
for(var i=0;i<t2.length;i++){
if(t2[i].nodeType==1)
t1.push(t2[i]);
}
}
if(RegExp.$3.indexOf("='")>-1){
var reg1=/([\w\d]+)(\^=|\~=|\!=|\$=|=)'(.+)'/i;
RegExp.$3.match(reg1);
//alert(RegExp.$3);
switch(RegExp.$2){
case "^=":
for(var i=0;i<t1.length;i++){
if(!(t1[i].getAttribute(RegExp.$1) && t1[i].getAttribute(RegExp.$1).substr(0,RegExp.$3.length)==RegExp.$3)){
t1.splice(i,1);
//alert(i);
i--;
}
}
break;
case "$=":
for(var i=0;i<t1.length;i++){
if(!(t1[i].getAttribute(RegExp.$1) && t1[i].getAttribute(RegExp.$1).substr(t1[i].getAttribute(RegExp.$1).length-RegExp.$3.length,RegExp.$3.length)==RegExp.$3)){
t1.splice(i,1);
i--;
&nb
相关文档:
<html>
<head>
<mce:script language="javascript"><!--
function old_page()
{
window.location = "http://www.jb51.net"
}
function replace()
{
window.location.replace("http://www.jb51.net")
}
function new_page()
{
window.op ......
第一步:在IE的“Internet设置”中选择“高级”——“安全”——“启用集成windows身份验证”。
第二步:在需要调试的页面的脚本中加上debugger; 然后运行这个页面,就会在这里停下来
例如:
function BtnSubmit_Click()
{
var aaa;
aaa='aaa';
debugg ......
日前,Mozilla 的 Arun Ranganathan 向 W3C 提交了一个草案,旨在推出一个 JavaScript API,让
JavaScript 脚本直接操作本地文件,Firefox 的最新浏览器版本中已经对该 API 提供了大量的支持,不过出于安全考虑,该API
将只对本地文件提供有限的访问。
该 API 引入了一个 FileReader 对象,可以异步加载本地文件系统中的 ......
JavaScript 是 Web 开发与设计中缺一不可的货色,不管是一个简略的网页仍是一个专业的站点,也甭管你是好手仍是菜鸟,现今 JavaScript 库愈来愈强大,可以胜任好多复杂的工作,然则与此同时,众人在泛滥 JavaScript 库眼前又觉着不知所措,正文,我们将应用 Google 搜寻出排行前 十 位的 JavaScript 库,并对它们逐个 ......