Javascript 将标识符添加到独立嵌套组中的重复类

Javascript 将标识符添加到独立嵌套组中的重复类,javascript,jquery,Javascript,Jquery,在使用下面这样的代码块时,我试图向类“duplicated class”的每个实例添加一个唯一的类名,该类与类“affiliate logo”位于同一元素上 重要提示: “复制类”表示一个动态变量,可以是任何东西 期望的结果是用数字('.class-1'、'.class-2'、'.class-3'等)附加重复的类 下面是代码结构的一个示例: <div id="integrations"> <div class="post-item" data-name="name">

在使用下面这样的代码块时,我试图向类“duplicated class”的每个实例添加一个唯一的类名,该类与类“affiliate logo”位于同一元素上

重要提示:

  • “复制类”表示一个动态变量,可以是任何东西
  • 期望的结果是用数字('.class-1'、'.class-2'、'.class-3'等)附加重复的类
  • 下面是代码结构的一个示例:

    <div id="integrations">
    <div class="post-item" data-name="name">
        <div class="rss-card" style="">
            <div class="hs-rss-item">
                <div class="rss-item-banner">
                    <img class="hs-rss-featured-image" src="" alt="">
                    <div class="affiliate-logo duplicate-class"><img src="" alt=""></div>
                </div>
            </div>
        </div>
    </div>
    
    <div class="post-item" data-name="name">
        <div class="rss-card" style="">
            <div class="hs-rss-item">
                <div class="rss-item-banner">
                    <img class="hs-rss-featured-image" src="" alt="">
                    <div class="affiliate-logo duplicate-class"><img src="" alt=""></div>
                </div>
            </div>
        </div>
    </div>
    <div class="post-item" data-name="name">
        <div class="rss-card" style="">
            <div class="hs-rss-item">
                <div class="rss-item-banner">
                    <img class="hs-rss-featured-image" src="" alt="">
                    <div class="affiliate-logo different-class"><img src="" alt=""></div>
                </div>
            </div>
        </div>
    </div>
    </div>
    
    
    
    post-item
    组是从COS列表生成的,其中“重复类”是从{{name}}值中提取的,该值必须允许重复的值条目

    虽然我可以找到为包装ID的直接后代生成类列表的方法,但我似乎找不到(或弄清楚)在生成的结构中嵌套得更深时产生查找“重复类”结果的任何方法

    我最初的想法是:

  • 识别
    post项
  • 在每个
    post项目
    组中查找“.affiliate logo”类

  • 识别“.affiliate logo”(在本例中:
    .duplicate class
    )旁边的第二个类,并将其分配给变量(
    var=adjacentClass
    更新2

    在代码片段2中,我们使用了
    .each()
    两次。一次迭代每个
    div.affiliate-logo
    ,一次迭代第二个类,每个
    div.affiliate-logo
    都有。A
    for
    循环过滤存储在数组中的重复项。最困难的部分是OP在获取第二个类时遇到的问题。以下是:

    在普通JavaScript中,
    classList
    是一个属性,当它在没有任何
    的情况下使用时。add
    remove
    等。它将返回一个类名数组(在代码段2的注释中,此数组中对字符串的任何引用都将是“classString”)

    以整页模式查看代码段2。详细信息在代码段2中注释。

    更新1

    第一个“重复类”变为“重复类-1”,第二个变为“重复类-2”

    不确定您想做什么。我认为您认为类与元素一样类似于DOM对象。请查看代码段,让我知道这是否是您想要的

    片段1

    $('.duplicate class')。每个(函数(idx、obj){
    var unique='重复类'+(idx+1);
    $(此).addClass(唯一)
    $(this.text('this'+unique);//这只是为了说明它是有效的
    });
    div{
    边框:1px纯黑;
    高度:40px;
    宽度:200px;
    填充:10px;
    颜色:白色;
    背景:rgba(0,0,0,3);
    }
    .附属公司标志{
    边框:2个红色虚线;
    }

    更新2

    在代码片段2中,我们使用了
    .each()
    两次。一次迭代每个
    div.affiliate-logo
    ,一次迭代第二个类,每个
    div.affiliate-logo
    都有。A
    for
    循环过滤存储在数组中的重复项。最困难的部分是OP在获取第二个类时遇到的问题。以下是:

    在普通JavaScript中,
    classList
    是一个属性,当它在没有任何
    的情况下使用时。add
    remove
    等。它将返回一个类名数组(在代码段2的注释中,此数组中对字符串的任何引用都将是“classString”)

    以整页模式查看代码段2。详细信息在代码段2中注释。

    更新1

    第一个“重复类”变为“重复类-1”,第二个变为“重复类-2”

    不确定您想做什么。我认为您认为类与元素一样类似于DOM对象。请查看代码段,让我知道这是否是您想要的

    片段1

    $('.duplicate class')。每个(函数(idx、obj){
    var unique='重复类'+(idx+1);
    $(此).addClass(唯一)
    $(this.text('this'+unique);//这只是为了说明它是有效的
    });
    div{
    边框:1px纯黑;
    高度:40px;
    宽度:200px;
    填充:10px;
    颜色:白色;
    背景:rgba(0,0,0,3);
    }
    .附属公司标志{
    边框:2个红色虚线;
    }
    
    
    对不起,让我澄清一下:我希望能够找到“duplicate class”项,然后在该类上添加一个唯一的值(即,第一个“duplicate class”变成“duplicate-class-1”,第二个变成“duplicate-class-2”)。您看过jquery的同级()了吗?这可以通过一个选择器来完成,因此您可以简单地获得具有所选类的给定节点的任何同级,但我不知道如何从单独的嵌套组中找到具有相同类的元素。例如,在页面上找到所有的“.affiliate group.name-a”组合,然后仅将“.name-a”类修改为唯一类(“.name-a-1、.name-a-2等)。我不知道。第二个类(子类?)是可能
    $(this).prop('classList');