Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
javascript - farbanje svakog drugog reda

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Client-side
View previous topic :: View next topic  
Author Message
gog



Joined: 17 Jun 2004
Posts: 679
Location: zagreb

PostPosted: 09.11.2004 08:27    Post subject: javascript - farbanje svakog drugog reda Add user to your forum ignore list Reply with quote

Neletih na www.allistapart.com -u na odličan članak iz kojeg sam izvukao slijedeću skriptu:

Code:

// this function is needed to work around
  // a bug in IE related to element attributes
  function hasClass(obj) {
     var result = false;
     if (obj.getAttributeNode("class") != null) {
         result = obj.getAttributeNode("class").value;
     }
     return result;
  }   

 function stripe(id) {

    // the flag we'll use to keep track of
    // whether the current row is odd or even
    var even = false;
 
    // if arguments are provided to specify the colours
    // of the even & odd rows, then use the them;
    // otherwise use the following defaults:
    var evenColor = arguments[1] ? arguments[1] : "#555";
    var oddColor = arguments[2] ? arguments[2] : "#444";
 
    // obtain a reference to the desired table
    // if no such table exists, abort
    var table = document.getElementById(id);
    if (! table) { return; }
   
    // by definition, tables can have more than one tbody
    // element, so we'll have to get the list of child
    // <tbody>s
    var tbodies = table.getElementsByTagName("tbody");

    // and iterate through them...
    for (var h = 0; h < tbodies.length; h++) {
   
     // find all the &lt;tr&gt; elements...
      var trs = tbodies[h].getElementsByTagName("tr");
     
      // ... and iterate through them
      for (var i = 0; i < trs.length; i++) {

        // avoid rows that have a class attribute
        // or backgroundColor style
        if (! hasClass(trs[i]) &&
            ! trs[i].style.backgroundColor) {
        
          // get all the cells in this row...
          var tds = trs[i].getElementsByTagName("td");
       
          // and iterate through them...
          for (var j = 0; j < tds.length; j++) {
       
            var mytd = tds[j];

            // avoid cells that have a class attribute
            // or backgroundColor style
            if (! hasClass(mytd) &&
                ! mytd.style.backgroundColor) {
       
              mytd.style.backgroundColor =
                even ? evenColor : oddColor;
           
            }
          }
        }



postavim skriptu u body onload i pošaljem joj id tablice i naravno sve radi kako spada. U čemu je cath pitate se? Very Happy

Ja bih želio da ta skripta radi za bilo koju tablicu sa postavljenom određenom klasom, a ne određenim id-om (pošto može biti samo jedan element s dotičnim id-om na stranici).

Problem je koliko sam ja shvatio u
Code:
    var table = document.getElementById(id);


pokušao sam iskoristiti neke napravljenje funkcije getElementByClass, no one vraćaju niz umjesto određenog elementa (ne znam da li se pravilno izražavam nisam se nikad bavio javascriptom).

Probao sam i napraviti pelju koja će slati svaki element tog niza, no stvar ne radi jer se ja u to baš i ne kužim... Confused

Ako ima neka dobra duša koja bi mi pomogla bio bih jako zahvalan...
Back to top
View user's profile Send private message Visit poster's website
el8



Joined: 22 Sep 2003
Posts: 6

PostPosted: 12.11.2004 17:47    Post subject: Add user to your forum ignore list Reply with quote

Code:

function f1(ime_klase) {
var x = document.getElementsByTagName('table');
   
for (i=0;i<x.length;i++){
   if (x[i].className.indexOf(ime_klase)!=-1){
       ucini_nesto();
   }
}

}


Evo mislim da ce ti ovaj primjer pomoci!
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Client-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group