【问题标题】:jquery addClass to multiple linksjquery addClass 到多个链接
【发布时间】:2013-03-22 13:16:54
【问题描述】:

有什么方法可以将类添加到多个链接?我有两个不同的 div 包含相同的链接集;单击链接应将相同的类应用于另一个 div 集中的“等效”链接。

<style>
.one{margin:70px 0}
.one a{ margin:10px; padding:5px 10px; background-color:green; text-decoration: none; color:white}
.selected{background-color: yellow;}
</style>
<div class="one">
<a href="#first">1</a><a href="#second">2</a><a href="#third">3</a>
</div>

<div class="two">
<a href="#first">1</a><a href="#second">2</a><a href="#third">3</a>
</div>
<script>
$("a.one").click(function() {
    $(this).addClass(".selected").filter(':first').click();
});
</script>

【问题讨论】:

  • 请您再解释一下吗?你想要的最终结果应该是什么?
  • 我在第一个 div 中有 10 个链接,在第二个 div 中有 10 个链接。如果我单击 div one 中的第一个链接。类应应用于该链接,并且同一时间类应用于第二个 div 第一个链接。我希望问题得到解决。

标签: jquery hyperlink addclass


【解决方案1】:

此代码将帮助您...

$("a").addClass(".selected");
【解决方案2】:

LINK

首先你需要找到锚的索引。然后根据该索引在第二个div锚中应用类。

$('.two').children('a').eq($('.one a').index(this)).addClass('selected');

 $('.one').children('a').eq($('.two a').index(this)).addClass('selected');

【讨论】:

  • $(".one a").click(function(){ $('.two').children('a').eq($('.one').index( this)).addClass('selected'); $('.one').children('a').eq($('.two').index(this)).addClass('selected'); } );
  • 将颜色应用于第二个 div 第三个链接。它不适用于第一个或第二个链接
  • @SalmanRazakMemon 我创建了链接,请参见此处jsfiddle.net/VA8uM/1 但您需要在申请前删除课程
  • 我在顶部给出了链接检查一次
  • @Salman Razak Memon 对你有用吗。如果你有任何问题,请告诉我
【解决方案3】:

我会尝试介绍必须一起更改的所有链接的共同点。在此我介绍了一个类来识别它们:

<style>
.one{margin:70px 0}
.one a{ margin:10px; padding:5px 10px; background-color:green; text-decoration: none; color:white}
.selected{background-color: yellow;}
</style>
<div class="one">
<a href="#first" class="1">1</a><a href="#second" class="2">2</a><a href="#third" class="3">3</a>
</div>

<div class="two">
<a href="#first" class="1">1</a><a href="#second" class="2">2</a><a href="#third" class="3">3</a>
</div>
<script>
    $(document).ready(function() {
        $("a.1").click(function() {
            $("a.1").addClass("selected");
            $("a:not(.1)").removeClass("selected");
        });
        $("a.2").click(function () {
            $("a.2").addClass("selected");
            $("a:not(.2)").removeClass("selected");
        });
       $("a.3").click(function () {
            $("a.3").addClass("selected");
            $("a:not(.3)").removeClass("selected");
        });
    });
    </script>

注意:如果您的目标浏览器不支持 css3,您不能依赖 :not 选择器,我应该使用一些“旧式”方法来删除该类。

【讨论】:

  • 我使用的是 firefox 版本 19.0.2
  • 所以你支持 :not 选择器 :-) 问题可能出在旧浏览器上;在这种情况下,您可以编写类似 $("a.2, a.3").removeClass("selected");避免 :not 选择器
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-27
  • 2019-02-04
  • 1970-01-01
  • 2017-10-21
  • 1970-01-01
相关资源
最近更新 更多