在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