Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery附加到元素_Javascript_Jquery_Html_Jquery Mobile - Fatal编程技术网

Javascript jQuery附加到元素

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"); }); 或 或者类似的事情。我怎样才能妥善处理这件事 提前谢

我想做的是,创建一个按钮,按下这个按钮,它将改变jQuery移动测试站点上的主题颜色

假设我的html父div如下所示

<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");   
});