Javascript jQuery附加到元素
我想做的是,创建一个按钮,按下这个按钮,它将改变jQuery移动测试站点上的主题颜色 假设我的html父div如下所示Javascript jQuery附加到元素,javascript,jquery,html,jquery-mobile,Javascript,Jquery,Html,Jquery Mobile,我想做的是,创建一个按钮,按下这个按钮,它将改变jQuery移动测试站点上的主题颜色 假设我的html父div如下所示 <div id="firstPage" data-role="page"> $('#themeBtn').click(function(){ $('#firstPage').setAttribute("data-role","ANOTHER theme letter"); }); 或 或者类似的事情。我怎样才能妥善处理这件事 提前谢
<div id="firstPage" data-role="page">
$('#themeBtn').click(function(){
$('#firstPage').setAttribute("data-role","ANOTHER theme letter");
});
或
或者类似的事情。我怎样才能妥善处理这件事
提前谢谢
编辑*根据回复,我尝试了**
/////////////TESTING THEME BUTTON (check STACK OVERFLOW for answer)
$('#themeBtn').click(function(){
//$('#firstPage').jqmData("role","a");
//$('#firstPage').attr("data-theme","a");
//$('#firstPage').jqmData("theme","a");
$('#firstPage').data('theme','a');
});
为了确保按钮启动,我将所有这些行注释掉,并做了一个简单的测试
$('#themeBtn').click(function(){
alert("foo");
});
果然,它在点击按钮时发出了警报,所以我肯定它能正常工作。(我指的是按钮)
我添加了一个jsFiddle,这样您就可以看到它的实际作用(不工作的lol)
如果您取消对警报的注释,当您取消对其他行的注释(基于响应)时,警报将触发。您可以使用
jqmData
方法:
$('#firstPage').jqmData('role', 'a');
在使用jQuery Mobile时,应使用jqmData和jqmRemoveData
用于代替jQuery核心的数据和removeData方法(注意
这包括$.fn.data、$.fn.removeData和$.data,
$.removeData和$.hasData实用程序),因为它们会自动
合并名称空间数据属性的获取和设置(即使
当前未使用任何命名空间)
只需使用:
$('firstPage').data('theme','other theme letter')代码>您可以执行以下操作来设置属性:
$('#themeBtn').on('click', function() {
$('#firstPage').attr("data-theme", "new Theme");
});
你试过了吗
$('#themeBtn').click(function(){
$('#firstPage').attr("data-role","ANOTHER theme letter");
});
这应该会更新数据角色jQuery Mobile不是使用jqmData()吗?docs:您好,谢谢您的回复,我编辑了我的帖子以显示我在回复的基础上尝试了什么,但它不起作用。@somdow:您的HTML中有一些未关闭的引号。试试这个:。@somdow如果你想改变整个主题,那么会有更多的内容,而不仅仅是改变属性:jQuery Mobile不使用jqmData()吗?docs:你好,谢谢你的回复,我编辑了我的帖子以显示我根据回复尝试了什么,但它不起作用。你好,谢谢你的回复,我编辑了我的帖子以显示我根据回复尝试了什么,但它不起作用你好,丹尼尔,是的,我一开始尝试了,但它没有更新。然后我试了一下。去掉它,但它没有去掉它。为了确保这个按钮是有针对性的,并且被触发,我把它们全部注释掉,并添加了一个警报(“foo”);果然点击它就会发出警报,这样按钮就可以工作了。只是似乎不能在单击时触发主题更改
$('#themeBtn').click(function(){
$('#firstPage').attr("data-role","ANOTHER theme letter");
});