我使用JQuery插件customSelect()
http://adam.co/lab/jquery/customselect/樣式下拉框。將JQuery插件應用到通過AJAX插入到DOM中的新元素使用每個()
如果我在相同的元素上多次初始化腳本,它們將停止工作。我需要找出一種方法來初始化通過AJAX插入到DOM中的新創建元素上的插件。
所以,我初始化所有的下拉菜單(預期的效果) -
$('select').customSelect();
和元素,我選擇這個插件工作都給予了類「hasCustomSelect」,像這樣
<select class="hasCustomSelect"></select>
,但如果我初始化兩次 -
$('select').customSelect();
$('select').customSelect();
它將從字面上停止工作。
因此,在我的AJAX請求中,我將它初始化爲沒有這個類的元素,但它似乎沒有工作。這裏是AJAX -
$.ajax({
type: 'POST',
url: 'wp-content/themes/themetitle/functions/get-child.php',
data: { childID : theID, URL : theURL, classlevel : classlevel },
beforeSend:function() {
},
success:function(data) {
$('#makesort').append(data);
makesort();
$.each('select', function() {
if($(this).hasClass('hasCustomSelect')) {
//DO NOTHING!
} else {
$(this).customSelect();
}
});
},
error:function() {
}
});
所以,我有想到的是data
後追加到我的div
,我會去通過每個<select>
元素,確定它是否已經包含了類hasCustomSelect
,如果沒有,然後初始化此元素的插件。
但是,這似乎並沒有達到預期的效果,實際上,它會產生錯誤。可能有幾種方法可以查看插件是否已經被應用,但是我想查看是否已經添加了默認類。
你提到的錯誤是什麼? – mayabelle
它會產生一個典型的差語法錯誤,比如Jquery.min.js中的「無法定義null的頂部」,這讓我相信這是一個語法錯誤,比我缺少一個括號或使用'each'錯誤。 – RCNeil