En utilisant Firebug Je trouve que le balisage HTML créé par jQuery Mobile est la suivante:
<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>
Vous pouvez voir que la classe ui-btn-hidden
a été ajouté à l'élément <button>
d'origine et l'affichage du Le bouton est réellement rendu grâce à l'utilisation des balises <span>
au-dessus de la balise <button>
.
Donc, pour changer le texte pour cet élément rendu jQuery Mobile vous utilisez un sélecteur comme celui-ci:
$('.cl_button1').siblings('.ui-btn-inner').children('.ui-btn-text').text("some text");
Ou si vous vouliez modifier le texte du bouton clic, vous pouvez le faire:
$('.cl_button1').bind('click', function() {
$(this).siblings('.ui-btn-inner').children('.ui-btn-text').text("some text");
});
Voici une jsFiddle pour la démonstration: http://jsfiddle.net/SfySk/1/
Si vous chargez jQuery Mobile dans votre jsfiddle, vous verrez le changement de structure qui fait que le code ci-dessus ne fonctionne pas, voici une version mise à jour de votre jsfiddle avec jQuery Mobile chargé: http://jsfiddle.net/S9asF/1/ – Jasper
Je vois, raté cette partie. Merci pour la mise à jour. :) –