我想动态更改页面的数据主题属性(jQuery Mobile),所以我将动作绑定到按钮,此动作获取我想要更改它的'数据主题'的页面的ID然后将它的'数据主题'设置为任何样本(a,b,c,d或e),当我按下按钮没有主题更改时,这里是HTML:
<div data-role="page" id="admin" data-theme="a" class="page">
<div data-role="header">
</div><!-- /header -->
<div data-role="content">
<a href="#" id="themeButton" data-theme="b" data-role="button" data-inline="true" >ChangeTheme</a>
</div><!-- /content -->
<div data-role="footer" data-position="fixed" data-id="ew-footer" class="ui-splitview-hidden">
</div><!-- /footer -->
</div><!-- /page -->
这是我的JavaScript:
<script>
$('#admin').live('pageinit', function (event) {
$('#themeButton').click(function () {
document.getElementById('admin').setAttribute('data-theme', 'b')
});
});
</script>
答案 0 :(得分:1)
document.getElementById('RemoveButton').setAttribute('data-theme','b')
您的标记没有id
值“RemoveButton”的元素,因此代码将抛出异常,因为document.getElementById('RemoveButton')
将返回null
,您正在尝试取消引用。
另外,因为你已经使用了jQuery,为什么不在那里使用它? E.g。
$("#RemoveButton").attr("data-theme", "b");
这至少可以防止你收到错误,但当然它不会做任何事情(因为,再次说明你所引用的标记中没有id
的元素。)