2009-04-30 10 views
1

Ich habe mehrere Seiten mit mehreren Tabellen auf jeder Seite zu tun. Ich habe die JQUERY, um Zebrastreifen auf geraden Linien zu machen und die Farbe beim Schweben zu ändern. Aber, hier kommt es, es ändert die Farbe auf THEAD und TFOOT und ich kann CSS nicht auf TFOOT anwenden, um die Farbe zu ändern.Tabellenhighlights nur in tbody

hier ist der Code

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 

<script type="text/javascript"> 
$(document).ready(function() { 
    $(function() { 
     $('tr').hover(function() { 
      $(this).css('background-color', '#FFFF99'); 
     }, 
     function() { 
      $(this).css('background-color', ''); 
     }); 
    }); 
}); 

$(function() { 
    $("table.tiger-stripe tr:odd").addClass("oddrow"); 
}); 
</script> 

Antwort

2

die Striping Tabelle tbody gelten nur

$(function() { 
    $('table.tiger-stripe tbody tr').hover(
     function() { $(this).css('background-color','#FFFF99'); }, 
     function() { $(this).css('background-color', '#000000');} 

    );  
    $("table.tiger-stripe tbody tr:odd").addClass("oddrow"); 
}); 
+0

Dank für die schnelle Antwort zu tun sieht, ich mit Jquery bin neu, und haben Kopieren und Einfügen von Elementen des Codes, um es so weit zu bringen, habe ich ein Buch bestellt, um es in den Griff zu bekommen, irgendwelche Hinweise auf, wie man die Antwort tut, die Sie gaben? –

+0

Ich habe Ihren Code aufgeräumt und alles in eine Funktion eingefügt, die ausgeführt wird, wenn das DOM geladen hat - das ist die $ (Funktion {...}); Code, der die inneren jQuery-Selektoren umschließt –

+0

Hallo Russ, danke nochmal, es funktioniert, brilliant, ich musste die Farbe # 000000 herausnehmen, da sie es schwarz zurückließ, nachdem sie es bei '' zurückgelassen hat, geht es zurück zur ursprünglichen Streifenfarbe. Ich weiß nicht, ob das "gutes Scripting" ist. Vielen Dank - das ist 5 Stunden runter, nur um das herauszufinden ... –

0

Bitte können wir Ihren Code für eine Tabelle zu sehen? Sind Sie sicher, dass es im tfoot mehr als eine tr-Zeile gibt, weil: odd nur in alternierenden Zeilen triggert, so dass mindestens zwei Zeilen vorhanden sein müssen.

Oh meinten Sie, dass Sie nicht möchten tfoot auslösen?

In diesem Fall verwenden Sie einfach $('tbody tr:odd') als Selektor.

+0

Hallo, danke für Die Antwort hat es versucht, es lässt mich jetzt thead und tfoot stylen, aber hebt immer noch hervor, wenn ich meine Maus über ... irgendwelche Ideen rolle? –

+0

Es wird alle ungeraden Tr-Reihen in tbody aufnehmen. Bitte präzisieren Sie, wann es hervorgehoben wird und wann Sie es hervorheben möchten. Hat der Code Russ funktioniert? –

0

Danke an alle ....

hier, was der Code wie es ....

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"> 
</script><script type="text/javascript"> 
$(function() { 
      $('table.tiger-stripe tbody tr').hover(
       function() { $(this).css('background- color','#FFFF99'); }, 
       function() { $(this).css('background- color', '');} ); 
      $("table.tiger-stripe tbody tr:nth-child(even)").addClass ("oddrow"); }); 

</script> 
+0

Danke dafür, aber es gibt keine Daten in tbody und es ist unter tfoot, was normalerweise nicht der richtige Weg ist, es zu tun. Versuchen Sie den Code in meiner Antwort, die ich oben gegeben habe. –

+0

Ich sehe was mit deinem Post passiert ist. Wenn Sie Code schreiben, müssen Sie sicherstellen, dass jede Zeile vier Leerzeichen eingerückt ist, damit Sie herausfinden können, dass es sich um einen Codeblock handelt. –

+1

Wenn Sie Ihrer Frage Code oder neue Informationen hinzufügen möchten, klicken Sie einfach auf "Bearbeiten" unter Ihrer Frage, um sie in den neuen Details zu bearbeiten. Bitte verwenden Sie nur Antworten, um eine Frage (auch Ihre eigene) zu beantworten. :) –