2010-08-11 2 views
3

J'ai un site où le HTML est juste un gâchis (généré par le concepteur SharePoint).<style type = "text/css" media = "print"> et jQuery?

je dois imprimer la page, mais il semble que la merde dans IE7/8 Aperçu avant impression, donc je dois utiliser <style type="text/css" media="print"> pour modifier quelques tables, divs etc, mais beaucoup des éléments ont pas de classe ou ID . Est-il possible d'utiliser la feuille de style d'impression et jQuery ensemble pour trouver des éléments? Lorsque je recherche sur Google, la plupart des liens concernent le changement de feuille de style.

Merci d'avance.

Répondre

5

Vous pouvez utiliser les puissants sélecteurs de jQuery pour ajouter réellement des classes dont vous pourriez avoir besoin, qui seront ensuite accessibles à partir de votre feuille de style d'impression.

Par exemple.

$("p:last-child").addClass("last-para"); 
$("tr:odd").addClass("odd-row"); 
$("table:eq(5)").addClass("table6"); // 6th table, starting from a 0 index! 

Juste pour le plaisir, voici un peu de magie jQuery qui ajoutera une classe (numérotée) à toutes vos tables et vos lignes dans une table.

$("table").each(function(index, value) { 
    $(this).addClass("table" + index); 
    $("tr", this).each(function(index, value) { 
     $(this).addClass("row" + index); 
    }); 
}); 

Si vous avez besoin d'aide pour spécifier des éléments particuliers, postez-les dans votre question et nous serons heureux de vous aider.

+0

Merci, je pense que je vais faire à partir d'ici, mais je reviendrai si j'ai d'autres questions. – Peter

+1

vous êtes trop rapide homme, je dois attendre 10 min avant que je puisse accepter une réponse :) – Peter

+0

ok, une autre question, disons que je veux par exemple trouver la 6e table sur la page et ajouter une classe à cela, est-ce possible? – Peter