Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [greasemonkey] problema con navigazione DOM

    ciao,

    sto scrivendo un paio di funzioni per navigare il DOM in maniera semplice in uno script Greasemonkey, es:

    var LastestNewsLinks = $('myListId').byTag('LI')[0].byClass('new');

    Lo so che esistono jQuery e Prototype e compagnia bella, ma mi serviva uno script molto meno elaborato.
    Le funzioni funzionano se chiamate individualmente, ma se concatenate presentano dei problemi.
    Nell'esempio sopra indicato, la funzione 'byTag' colleziona correttamente i tags, ma restituisce "undefined" anzichè un array di elementi... Qualcuno sa dirmi perchè??

    Grazie!

    ----
    Codice PHP:
    (function(){

           function 
    byId(tagId){
                   return 
    document.getElementById(tagId);
           }

           function 
    byTag(tagName,elm){
                   var 
    elm elm || document;
                   var 
    returnElements = [];
                   var 
    elements = (tagName == "*" && elm.all)? elm.all :
    elm.getElementsByTagName(tagName);
                   var 
    length elements.length;
                   for(var 
    i=0i<lengthi++){
                           
    returnElements.push($(elements[i]));
                   }
                   return 
    returnElements;
           }

           function 
    byClass(classNameelmtag){
                   var 
    testClass = new RegExp("(^|\\s)" className "(\\s|$)");
                   var 
    tag tag || "*";
                   var 
    elm elm || document;
                   var 
    elements byTag(tag,elm);
                   var 
    returnElements = [];
                   var 
    current;
                   var 
    length elements.length;
                   for(var 
    i=0i<lengthi++){
                           
    current elements[i];
                           if(
    testClass.test(current.className)){
                                   
    returnElements.push($(current));
                           }
                   }
                   return 
    returnElements;
           }

           function $(
    q){
                   var 
    e;
                   
    e=(typeof q=='string')?byId(q):q;
                   
    e.byTag=function(x){
                           
    byTag(x,e);
                   }
                   
    e.byClass=function(x){
                           
    byClass(x,e);
                   }
                   return 
    e;
           };

    })(); 
    Progetto ~MEPHIT~
    PHP/AJAX/HTML5 Project for D&D players
    www.mephit.it

  2. #2
    trovato:
    Codice PHP:
                   function $(q){
                   var 
    e;
                   
    e=(typeof q=='string')?byId(q):q;
                   
    e.byTag=function(x){
                           return 
    byTag(x,e);
                   }
                   
    e.byClass=function(x){
                           return 
    byClass(x,e);
                   }
                   return 
    e;
           }; 
    Progetto ~MEPHIT~
    PHP/AJAX/HTML5 Project for D&D players
    www.mephit.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.