在我的页脚中,我写了这个函数......
jQuery('#page').live('pageinit', function() {
$('.widget ul').attr('data-inset', 'true');
$('.widget ul').attr('data-theme', 'd');
$('.widget ul').attr('data-dividertheme', 'b');
$('.widget ul').attr('data-role', 'listview');
$('.widget ul').listview();
$('a.post-edit-link').attr('data-inline', 'true');
$('a.post-edit-link').attr('data-role', 'button');
$('a.post-edit-link').button();
$('#commentform').attr('data-theme', 'e'); ...
那么,如何在最后一行应用数据主题?什么是方法,如'listview'或'button'?
我也想知道如何将'widget ul'应用到第一个属性......
$('。widget ul:first')
无效。
感谢您的帮助!
此致
诉P>
答案 0 :(得分:2)
.widget ul:first
将选择第一个ul
元素作为.widget
元素的后代。如果您想在ul
中选择第一个列表项,则需要:.widget ul li:first
。
表单本身不会被jQuery Mobile初始化,因此您不需要定位表单,而是需要定位特定的输入窗口小部件并对其进行初始化。
要初始化一堆元素,您可以全部选择它们并在它们上面调用.trigger('create')
:
$('#commentform').find('input, textarea').trigger('create');
当你想要更新小部件而不是初始化小部件时,这会变得有点棘手:
$('#commentform').find('input[data-type="slider"]').slider('refresh').end()
.find('input[type="text]').textinput('refresh').end()
.find('input[type="checkbox"], input[type="radio"]').checkboxradio('refresh');
此外,您可以通过链接函数调用来优化代码,而不是多次重新选择相同的元素:
$('.widget ul').attr('data-inset', 'true')
.attr('data-theme', 'd')
.attr('data-dividertheme', 'b')
.attr('data-role', 'listview')
.listview();
$('a.post-edit-link').attr('data-inline', 'true')
.attr('data-role', 'button')
.button();
或者您可以将对象传递给.attr()
以在一个函数调用中设置所有属性:
$('.widget ul').attr({
'data-inset' : true,
'data-theme' : 'd',
'data-dividertheme' : 'b',
'data-role' : 'listview'
}).listview();
$('a.post-edit-link').attr({
'data-inline' : true,
'data-role' : 'button'
}).button();
答案 1 :(得分:0)
不确定为什么评论表格添加数据-thene无效......
jQuery('#page').live('pageinit', function() {
var ulList = $('.widget ul'), aTag = $('a.post-edit-link')
ulList.attr('data-inset', 'true');
ulList.attr('data-theme', 'd');
ulList.attr('data-dividertheme', 'b');
ulList.attr('data-role', 'listview');
ulList.listview();
aTag.attr('data-inline', 'true');
aTag.attr('data-role', 'button');
aTag.button();
$('#commentform').attr('data-theme', 'e'); ...
先尝试一下(原因是,你不想每次为那个jQuery对象解析DOM,把它保存到内存中,它会节省很多处理时间)...现在,试试这个你的选择问题:
$('.widget').first('ul');