易截截图软件、单文件、免安装、纯绿色、仅160KB

自己动手用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


相关文档:

Google 排名中的 10 个最著名的 JavaScript 库

ugmbbc发布于 2009-11-14 09:41:43| 7628 次阅读 字体:大 小 打印预览
var ReTitle = '回复:Google 排名中的 10 个最著名的 JavaScript 库';
感谢COMSHARP CMS的投递
新闻来源:tripwiremagazine.com
JavaScript 是 Web 开发与设计中不可或缺的东西,不管是一个简单的网页还是一个专业的站点,也不管你是高手还是菜鸟 ......

JavaScript中的indexOf方法

1.对于数组,我们可以自己写一个indexOf()方法:
[].indexOf || (Array.prototype.indexOf = function(v){
for(var i = this.length;i-- && this[i] !== v;);
return i; });
使用: var array = new Array();
array = ...;
if(array.ind ......

JavaScript 去出字符串中的空格

 
去除字符串左右两端的空格,在
vbscript

面可以轻松地使用
 trim

ltrim 

 rtrim
,但在
js
中却没有这
3
个内置方法,需要手工编写。下面的实现方法是用到了正则表达式,效率不错,并把这三个方法加入
String
对象的内置方法中去。
 
<mce:script type="tex ......

在页面上回车后不做任何动作的JavaScript


在页面上回车后,不做任何动作。
  <script type="text/javascript">  
  
    function   document.onkeydown() 
         { 
               if(event.keyCode   ==   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号