Это основано на информации, предоставленной Yi Jiang и Panayiotis выше, и на примере кода кнопки jquery ui :
Когда я выполнял миграцию более раннего приложения JSP с панелью инструментов сизображений на кнопку, я хотел, чтобы изображение было внутри самого объявления кнопки, а не создавало отдельный класс для каждой кнопки панели инструментов.
<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>
Конечно, было гораздо больше кнопок, чем две вышеупомянутые.Приведенный выше тег s является тегом struts2, но вы можете просто заменить его любым URL-адресом
<button id="btnOpenDocs" data-img="/images/multi.png">Open Documents</button>
В приведенном ниже сценарии выполняется поиск атрибута data-img из тега кнопки, а затем устанавливается его в качестве фонового изображения.для кнопки.
Он временно устанавливает ui-icon-bullet (любой произвольно существующий стиль), который затем изменяется позже.
Этот класс определяет временный стиль (лучше добавить дополнительные селекторы для конкретной панели инструментов, если выпланируйте использовать это, чтобы остальная часть вашей страницы оставалась неизменной).Фактическое изображение будет заменено приведенным ниже Javascript:
button.ui-button .ui-icon {
background-image: url(blank.png);
width: 0;
height: 0;
}
и следующим Javascript:
$(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');
});
});