data-role =“button"样式不应用于js函数
data-role="button" style is not applied on js function
在_Layout页面中,我有div,它最初在页面加载时隐藏。
<div data-role="header">
<div id="myDiv" data-role="button"></div>
</div>
...
$(document).bind("pageinit", function () {
$("div#myDiv").hide();
});
在其他页面的某个地方onclick动作连接到js函数,它将文本内容添加到myDiv,之后我显示myDiv,如
<script>
...
var textToAppend = "some text";
$("div#myDiv").html(textToAppend);
$("div#myDiv").show();
...
</script>
Div显示文本,但在视觉上没有预期的样式(data-role="button ")。在firebug中,div有正确设置的data-role按钮,但在视觉上没有。
当动态更改元素内容时,应该重新创建元素,以便应用jquery mobile的增强标记。在本例中:
$("div#myDiv").html(textToAppend).button();
js fiddle: http://jsfiddle.net/gfg/Z9xvd/
我推荐这种方法,因为它不依赖于html标记,这在jQuery移动版1.4中已经改变了很多。
例如,以下html: <input id="btnShow" type="submit" value="show">
将是:
jQuery mobile 1.3.2
<div data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="c" data-disabled="false" class="ui-submit ui-btn ui-shadow ui-btn-corner-all ui-btn-up-c" aria-disabled="false">
<span class="ui-btn-inner">
<span class="ui-btn-text">show</span>
</span>
<input id="btnShow" type="submit" value="show" class="ui-btn-hidden" data-disabled="false">
</div>
jQuery mobile 1.4.2
<div class="ui-btn ui-input-btn ui-corner-all ui-shadow">
show
<input id="btnShow" type="submit" value="show">
</div>
这是因为data-role设置了一些span,呈现的代码看起来像:
<div id="myDiv" data-role="button" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="a" class="ui-btn ui-shadow ui-btn-corner-all ui-btn-up-a">
<span class="ui-btn-inner ui-btn-corner-all">
<span class="ui-btn-text">some test</span>
</span>
</div>
您当前的代码将覆盖跨度和格式变得混乱。必须替换内部span的文本-使用以下命令更新文本:
$("div#myDiv .ui-btn-text").text(textToAppend);
js小提琴:http://jsfiddle.net/BQMTP/2/
相关文章:
- 如何使用 JavaScript 将样式应用于 CKEditor 中的选定文本
- 将数据表.js样式应用于 AJAX 加载的表
- 如何使用javascript将xsl样式应用于html中的嵌入式xml
- Highcharts--Can't将样式应用于x轴标签
- 如何通过css模块将样式应用于react组件
- 将样式应用于 JavaScript 电子邮件
- 将 css 样式应用于 javascript 调用中的 :after 伪元素
- 债权人 - 将外部样式表应用于 CKEditor 文本区域中的内部文本
- 如何将CSS样式应用于由Javascript脚本注入和样式化的HTML,这是我无法控制的
- 如何将@media打印样式应用于 ckeditor 实例
- 您能否通过JavaScript将媒体查询特定样式应用于HTML元素
- 使用jQuery脚本将CSS样式应用于angularjs表达式
- 如果某个样式在TD中,则将CSS应用于TR
- 将css样式应用于Django中的表单项
- jQuery按钮样式仅应用于Datatable第一页中的按钮
- 样式未应用于Google Fusion表层
- 将焦点样式事件应用于UL标记元素
- 如何将复杂样式应用于Select2组件的选择
- 将样式应用于在Polymer中使用InnerHTML插入的元素
- 如何将样式应用于JQuery数组中的特定元素