Используя Firebug, я обнаружил, что HTML-разметка, созданная jQuery Mobile, выглядит следующим образом:
<fieldset data-inline="true" class="ui-grid-a">
<div class="ui-block-a">
<div data-theme="c" class="ui-btn ui-btn-icon-top ui-btn-corner-all ui-shadow ui-btn-up-c" aria-disabled="false">
<span class="ui-btn-inner ui-btn-corner-all">
<span class="ui-btn-text">some text</span>
<span class="ui-icon ui-icon-home ui-icon-shadow"></span>
</span>
<input type="hidden" value="">
<input type="hidden" value="">
<input type="hidden" value="">
<button data-iconpos="top" data-icon="home" data-theme="c" type="submit" class="cl_button1 ui-btn-hidden" aria-disabled="false">Click Me</button>
</div>
</div>
</fieldset>
Вы можете видеть, что класс ui-btn-hidden
был добавлен к элементу <button>
origional, и отображение кнопки фактически отображается с помощью тегов <span>
над тегом <button>
.
Таким образом, чтобы изменить текст для этого визуализированного элемента jQuery Mobile, вы должны использовать селектор, подобный этому:
$('.cl_button1').siblings('.ui-btn-inner').children('.ui-btn-text').text("some text");
Или, если вы хотите изменить текст кнопки при нажатии, вы можете сделать это:
$('.cl_button1').bind('click', function () {
$(this).siblings('.ui-btn-inner').children('.ui-btn-text').text("some text");
});
Вот jsfiddle для демонстрации: http://jsfiddle.net/SfySk/1/