我的代码是
var jQuery = jQuery.noConflict();
$(document).ready(function() {
var $filterType = $('#filterOptions li.active a').attr('class');
var $holder = $('ul.ourHolder');
var $data = $holder.clone();
$('#filterOptions li a').click(function(e) {
$('#filterOptions li').removeClass('active');
var $filterType = $(this).attr('class');
$(this).parent().addClass('active');
if ($filterType == 'all') {
var $filteredData = $data.find('li');
}
else {
var $filteredData = $data.find('li[data-type=' + $filterType + ']');
}
$holder.quicksand($filteredData, {
duration: 800,
easing: 'easeInOutQuad'
});
return false;
});
});
当我评论(// var jQuery = jQuery.noConflict();)noConflict然后这个代码是工作但是 如果没有评论,那么它不适用于ie7和ie8
我也使用$ jQuery = jQuery.noConflict();
答案 0 :(得分:3)
如果您使用
var jQuery = jQuery.noConflict();
您需要将每个$('...')
替换为jQuery('....')
答案 1 :(得分:3)
我经常使用的一个习惯是:将使用jQuery的代码放在一个带有单个参数$
的函数中,并使用jQuery对象调用该函数,如下所示:
(function($) {
$(document).ready(function() {
var $filterType = $('#filterOptions li.active a').attr('class');
var $holder = $('ul.ourHolder');
var $data = $holder.clone();
$('#filterOptions li a').click(function(e) {
$('#filterOptions li').removeClass('active');
var $filterType = $(this).attr('class');
$(this).parent().addClass('active');
if ($filterType == 'all') {
var $filteredData = $data.find('li');
}
else {
var $filteredData = $data.find('li[data-type=' + $filterType + ']');
}
$holder.quicksand($filteredData, {
duration: 800,
easing: 'easeInOutQuad'
});
return false;
});
});
})(jQuery);