2010-07-13 11 views
1

J'ai une table dont la bordure est définie comme 1px solid silver à partir d'une feuille de style externe (un fichier .css). Je n'ai aucun contrôle sur ce fichier.Surcharge css avec jquery/javascript

Ceci est le css: my_table tbody td { police: 8.5pt verdana, sans-serif; border-top: solide 1px argent; bordure inférieure: solide 1px argent; dépassement: masqué; rembourrage: 0px 3px 0px 2px; }

Maintenant, je veux changer la couleur de la bordure de la dernière rangée de la table en noir. J'essaie d'utiliser l'instruction jQuery suivante pour cela.

$('#table_1 tr:last').css('border', '1px solid black'); 

Mais cela ne semble pas fonctionner. Comment puis-je faire cela avec JQuery/JavaScript?

Répondre

1

Si c'est le TDs que vous êtes après, vous devez les adresser:

$(document).ready(function(){ 
    $('#table_1 tr:last td').css('border', '1px solid black'); 
}); 

Ce code attendra le DOM pour être prêt et ensuite appliquer la frontière sur les TDs dans la dernière rangée.

Editer: En voyant votre déclaration CSS, vous devez rendre le style plus spécifique. Voici comment (avec le nom de la classe):

$(document).ready(function(){ 
    $('.my_table > tbody tr:last td').css('border', '1px solid black'); 
}); 

Si le pire arrive au pire, aller $('table.my_table > tbody tr:last td').

+2

Toute explication à cette downvote? –

+0

Quelque chose d'étrange se produit quand je fais ceci: La bordure inférieure devient seulement noire. Les autres frontières sont toujours argentées. Mais quand j'utilise 2px black, cela s'applique à toutes les bordures. Pas vraiment sûr pourquoi cela se produit. – user343409

+0

Cela semble étrange. Cela vous dérangerait-il de poster le code? Avez-vous autre chose dans le tableau? –

0

Essayez

this.style.cssText = "border: 1px solid red !important"; 

ou

$('#table_1 tr:last td').css('border', '1px solid black !important');