Jquery 我可以直接将类添加到容器中的img标记吗?

Jquery 我可以直接将类添加到容器中的img标记吗?,jquery,html,css,Jquery,Html,Css,我正在用Jquery编写iTunes风格的封面流程。我并不经常使用Jquery框架。我不想使用插件,它们中的大多数似乎都是我想要的 目前,我正试图从img元素中删除活动标记 $(".imgFrame img").removeClass(function(index, currentClass) { var removedClass; if ( currentClass === "active" ) { removedClass= "active"; }

我正在用Jquery编写iTunes风格的封面流程。我并不经常使用Jquery框架。我不想使用插件,它们中的大多数似乎都是我想要的

目前,我正试图从img元素中删除活动标记

$(".imgFrame img").removeClass(function(index, currentClass) {
    var removedClass;
    if ( currentClass === "active" ) {
        removedClass= "active";
    }
    return removedClass;
});
这些类声明如下:

.imgFrame
.imgFrame > img
.imgFrame.active > img
编辑:HTML:

<div class="imgFrame active">
    <img src="http://placehold.it/50x75"/>
</div>
<div class="imgFrame">
    <img src="http://placehold.it/50x75"/>
</div>


我有一种感觉,
$(“.imgFrame img”)
不是我想要的,尽管我以前在不同的上下文中见过类似的Jquery对象。

如果您只想从
img
元素中删除类
active
,您可以简单地将代码转换为:

$('.imgFrame img').removeClass('active');
传递给方法的函数签入是多余的,因为jQuery在内部执行此操作


为了帮助改进您正在使用的选择器,我需要查看您拥有的HTML代码。

如果您只想从
img
元素中删除类
活动
,您可以简单地将代码转换为:

$('.imgFrame img').removeClass('active');
传递给方法的函数签入是多余的,因为jQuery在内部执行此操作

为了帮助改进您正在使用的选择器,我需要查看您的HTML代码。

您只需要
$('.imgFrame')。addClass('active')
$('.imgFrame.active').removeClass('active')
以添加和删除这些类。但是,如果您想做一些更深入的事情,如检查next()item元素是否可用于addClass,您可以执行以下操作:

$('#btnNext').on('click', function() {
    var $curImg = $('.imgFrame.active'),
        $nextImg = $curImg.next();
    if ($nextImg.length) {
        $nextImg.addClass('active');
    } else {
        $('.imgFrame').first().addClass('active');
    }
    $curImg.removeClass('active');
});
下面是一个示例,其中包含您的小提琴中的代码。

您只需要
$('.imgFrame').addClass('active')
$('.imgFrame.active').removeClass('active')
以添加和删除这些类。但是,如果您想做一些更深入的事情,如检查next()item元素是否可用于addClass,您可以执行以下操作:

$('#btnNext').on('click', function() {
    var $curImg = $('.imgFrame.active'),
        $nextImg = $curImg.next();
    if ($nextImg.length) {
        $nextImg.addClass('active');
    } else {
        $('.imgFrame').first().addClass('active');
    }
    $curImg.removeClass('active');
});

下面是一个使用fiddle中代码的示例。

不要将removeClass()或addClass()用作自定义名称函数!现代浏览器中还有.classList,这是一个本机javascript接口,不需要jquery。。。您希望从div而不是img中删除类。。。但在代码中,您试图从img中删除类,而不是div。不要将removeClass()或addClass()用作自定义名称函数!现代浏览器中还有.classList,这是一个本机javascript接口,不需要jquery。。。您希望从div而不是img中删除类。。。但在代码中,您试图从img中删除类,而不是divI在开始时也尝试过,但没有成功。在某个时候,我需要将活动类应用于组中的下一个或上一个.imgFrame,因此我切换到更复杂的函数。我将把我的HTML添加到OP中。您当前的函数与我发布的代码具有完全相同的功能。如果您看到了差异,请编辑您的原始问题以包含所有相关的javascript和HTML代码。不,您是正确的。我的函数和您的脚本具有相同的功能。很抱歉我的意思是我以后会再加上更多。现在我只是想让removeClass实际删除一个类。一旦我达到这一点,我将把活动类添加到另一个imgFrame div中。我不知道你是否看到了我添加到问题中的HTML。更新:
$('.imgFrame').removeClass('active')使它工作。我明白我做错了什么。我一开始也试过了,但没有成功。在某个时候,我需要将活动类应用于组中的下一个或上一个.imgFrame,因此我切换到更复杂的函数。我将把我的HTML添加到OP中。您当前的函数与我发布的代码具有完全相同的功能。如果您看到了差异,请编辑您的原始问题以包含所有相关的javascript和HTML代码。不,您是正确的。我的函数和您的脚本具有相同的功能。很抱歉我的意思是我以后会再加上更多。现在我只是想让removeClass实际删除一个类。一旦我达到这一点,我将把活动类添加到另一个imgFrame div中。我不知道你是否看到了我添加到问题中的HTML。更新:
$('.imgFrame').removeClass('active')使它工作。我明白我做错了什么。谢谢你的
&text=
。我不知道placehold接受了post VAR。谢谢
&text=
。我不知道placehold接受了post vars。