在jQuery Mobile中使用addClass函数。我可以在代码中看到该类已添加,但其应用于其的样式将被忽略。jQuery Mobile addClass不影响样式
如果我将这个类添加到html并刷新页面,那么这个类就是样式的。所以在我看来,这可能与JQM呈现页面的方式有关。
$('.slider1').click(function(){
$('.sliders').addClass('.slidersPosTwo');
});
在jQuery Mobile中使用addClass函数。我可以在代码中看到该类已添加,但其应用于其的样式将被忽略。jQuery Mobile addClass不影响样式
如果我将这个类添加到html并刷新页面,那么这个类就是样式的。所以在我看来,这可能与JQM呈现页面的方式有关。
$('.slider1').click(function(){
$('.sliders').addClass('.slidersPosTwo');
});
退房为.addClass()
的文档:http://api.jquery.com/addClass/
注意的例子来说明如何省略在类名的开始时间(.
)。如果你离开这段时间,那么它将作为类名称的一部分添加,它只能用作选择器。
,如果你做这个改变,你的代码将工作:
...
$('.sliders').addClass('slidersPosTwo');//notice, no period before the class name
...
以编程方式修改JQM内容后,通常需要刷新增强功能。 这可以通过例如$(".slider").slider("refresh");
来完成。 此外,增强后的元素具有完全不同的结构(例如,为单个滑块添加了许多新的DOM元素)。可能会出现这种情况,您并未将您的类添加到适当的DOM元素中(除非您设置了jsfiddle或类似方法,否则无法验证此类)。
替换:
$('.sliders').addClass('.slidersPosTwo');
有:
$('.sliders').addClass('slidersPosTwo');
更妙的是,here你可以找到一个活的jsfiddle例子如何修改每个滑块元素。例如:
// Slider label
$('div[data-role="fieldcontain"] label#slider-label').addClass('custom-slider-label');
// Slider text box
$('div[data-role="fieldcontain"] input#slider').addClass('custom-slider');
// Slider element
$('div[data-role="fieldcontain"] div[role="application"]').addClass('custom-slider-element');
// Slider button
$('div[data-role="fieldcontain"] div[role="application"] a span').addClass('custom-slider-button');
JQM不增强.slider1或。 slider1,那里只是我给那些类的div。当我明天回到工作岗位时尝试“刷新”,但我不认为这是问题。谢谢 – Evans