Ceci est basé sur les informations fournies par Yi Jiang et Panayiotis ci-dessus, ainsi que sur les données de l'enquête de la Commission européenne. exemple de code pour les boutons de l'interface utilisateur jquery :
Lors de la migration d'une ancienne application JSP qui comportait une barre d'outils avec des images par bouton, je voulais que l'image soit intégrée à la déclaration du bouton lui-même plutôt que de créer une classe distincte pour chaque bouton de la barre d'outils.
<div id="toolbarDocs" class="tableCaptionBox">
<strong>Checked Item Actions: </strong>
<button id="btnOpenDocs" data-img="<s:url value="/images/multi.png"/>">Open Documents</button>
<button id="btnEmailDocs" data-img="<s:url value="/images/email.png"/>">Attach to Email</button>
</div>
Bien sûr, il y avait beaucoup plus de boutons que les deux ci-dessus. Le tag s ci-dessus est un tag struts2, mais vous pourriez le remplacer par n'importe quelle URL
<button id="btnOpenDocs" data-img="/images/multi.png">Open Documents</button>
Le script ci-dessous recherche l'attribut data-img de la balise du bouton, puis le définit comme image d'arrière-plan pour le bouton.
Il définit temporairement ui-icon-bullet (n'importe quel style arbitraire existant) qui sera modifié plus tard.
Cette classe définit le style temporaire (il est préférable d'ajouter des sélecteurs supplémentaires pour la barre d'outils spécifique si vous prévoyez de l'utiliser, afin que le reste de votre page ne soit pas affecté). L'image réelle sera remplacée par le Javascript ci-dessous :
button.ui-button .ui-icon {
background-image: url(blank.png);
width: 0;
height: 0;
}
et le Javascript suivant :
$(document).ready(function () {
$("#toolbarDocs button").each(
function() {
$(this).button(
{ text: $(this).attr('data-img').length === 0? true: false, // display label for no image
icons: { primary: "ui-icon-bullet" }
}).css('background-image', "url(" + $(this).attr('data-img') +")")
.css('background-repeat', 'no-repeat');
});
});