我使用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