2009-10-29 3 views
0

je le balisage HTML suivant:Comment modifier l'arrière-plan d'un élément A avec jQuery?

<table class="rwTitlebarControls" cellspacing="0" cellpadding="0" align="left"> 
    <tbody> 
     <tr> 
      <td style="width: 16px;"> 
       <a class="rwIcon" style="background: transparent url(Images/ic_icon_16.png) no-repeat scroll 0px 0px; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"/> 
      </td> 
      <td> 
       <em unselectable="on">Title</em> 
      </td> 
      <td nowrap="" style="white-space: nowrap;"> 
      </td> 
     </tr> 
    </tbody> 
</table> 

Je veux changer l'URL de l'image du <un> -Element avec la classe rwIcon utilisant jQuery, mais je ne peux pas sembler trouver le .rwIcon .

je peux trouver la table contenant sans problème à l'aide:

$('table.rwTitlebarControls'); 

, mais à la fois les sélections suivantes ne parviennent pas à retourner l'élément que je besoin

$('a.rwIcon') 

$('.rwIcon') 

Qu'est-ce que je fais mal?

NOTE: Ce HTML est généré automatiquement par les RadComponents de Telerik et est quelque chose que je ne peux changer ou de contrôle, donc s'il vous plaît juste essayer de répondre à la question et éviter de commenter la qualité du balisage. Merci!

+0

Êtes-vous sûr que vous n'êtes pas obtenir la Une étiquette, ou est-il tout simplement pas changer l'arrière-plan? Essayez alert ($ ('.rwIcon'). Length); –

+1

Pouvez-vous utiliser l'ancre comme ça? L'ancre devrait avoir une balise de fin et l'attribut href imho ... – eugeneK

+0

1. vous utilisez une table pour le balisage: faux. 2. vous utilisez inline css: faux. – Natrium

Répondre

2

Ce fonctionne:

$('.rwIcon') 

Mais la balise avec cette classe est vide (il n'a pas de contenu)

Cela fonctionne:

<a class="rwIcon" style="background: transparent url(Images/ic_icon_16.png) no-repeat scroll 0px 0px; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">SOME CONTENT</a> 

Avec ce script:

$(".rwIcon").css({backgroundColor:"#000000"}); 
+0

Cela m'a mis sur la bonne voie. Merci! – Cros

0

Tourner s out j'ai l'élément correct, je ne l'ai pas identifié comme tel. Le script suivant modifie l'image d'arrière-plan de l'a-tag:

function ChangeWindowIcon(icon) { 
    icon = 'url(Images/ic_' + icon + '_16.png)'; 
    $('a.rwIcon').css({ 'background-image': icon }); 
} 
Questions connexes