我正在制作幻灯片。最后,我想将current
类添加到我的变量中,以便下次检查。
但这不起作用,我也试过attr
但没有工作。
这是我的代码:
$(function () {
$('.large_image').children('img').addClass('current');
$('.product-item').click(function () {
if ($('.large_image > img').hasClass('current')) {
var $img = $(this).find('img').attr('data-img');
var $slider = '<img class="dis-none" style="position:absulote;z-index:999" src=' + $img + ' />';
$($slider).appendTo('.large_image').stop(true, true).delay(400).fadeIn(
function () {
$('.current').fadeOut(function () {
$(this).remove();
});
});
$($slider).attr('class', 'current');
$($slider).addClass('current');
}
})
});
有关如何解决此问题的任何帮助?
答案 0 :(得分:3)
首先,您的变量名称为$slider
,而不是slider
。您需要在$
之前添加slider
:$($slider)
。修复此问题后,您只需使用jQuery的addClass()
方法:
$($slider).addClass('current');
jQuery还有一个removeClass()
方法来删除该类,因此在将新幻灯片设置为“当前”之前,您可能需要调用:
$('.current').removeClass('current');
答案 1 :(得分:1)
使用addClass()添加类属性
$(slider).addClass("current");
答案 2 :(得分:1)
以下是代码中的实际错误。
$($slider).attr("class='current'"); //WRONG
$($slider).attr('class','current'); //RIGHT WAY
或仅使用addClass()方法
$($slider).addClass('current');
选中此Benefits of using attr() over addClass in jquery
addClass()
与使用操作类相比有几个好处 ATTR( '类'):
- 它在语义上更清晰。
- 适用于多个班级。
- 显然要快得多。
醇>
答案 3 :(得分:1)
使用add class并删除类
$(slider).addClass('current').siblings().removeClass('current');
它还会删除其他元素current
class