代码之家  ›  专栏  ›  技术社区  ›  CLiown

jquery-将动态类添加到另一个DIV

  •  0
  • CLiown  · 技术社区  · 15 年前

    好吧,也许这个标题并不能最好地解释我想要达到的目标,但是如果我能更好地解释,希望有人能帮我:

    我用下面的代码选择保存在 <a> 并将其添加为该元素的类:

    $(".nav a").each(function () {
      var self = $(this);
      self.addClass(self.text());
    });
    

    例如:

    <a class="nav" href="page1.html">Google</a>
    <a class="nav" href="page2.html">Yahoo</a>
    <a class="nav" href="page3.html">Bing</a>
    

    变成:

    <a class="nav Google" href="page1.html">Google</a>
    <a class="nav Yahoo" href="page2.html">Yahoo</a>    
    <a class="nav Bing" href="page3.html">Bing</a>
    

    我用另一点代码来找出用户当前所在的页面,无论是谷歌、雅虎还是必应,然后我分配另一个“选定”类。

    例如,如果我在谷歌页面 <A> 类成为:

    <a class="nav Google selected" href="page1.html">Google</a>
    

    我想进一步扩展这一点,并可能通过一个例子来最好地解释:

    <a class="nav Google selected" href="page1.html">Google</a>
    <a class="nav Yahoo" href="page2.html">Yahoo</a>    
    <a class="nav Bing" href="page3.html">Bing</a>
    
    <div class="container Google">
    
    Lots of content
    
    </div>
    

    如上所述,当“google”有“selected”类时,将其添加到 <div class="container"> ,当单击其他链接时也是如此。

    所以换句话说, <A & GT; 保留“selected”将上一个类添加到 <div class=“container”>

    我知道有很多方法可以做到这一点,但我别无选择,只能这样做,因为我无论如何都无法编辑页面的源代码,所以它必须是基于浏览器的解决方案,而不是服务器端。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Michal M    15 年前
    $('.nav').click(function(){
        $(this).addClass($(this).text());  // I believe you already do this.
        $('.conatiner').addClass($(this).text());
    });
    
        2
  •  0
  •   Greg    15 年前

    您可以像这样将类添加到容器中:

    $('.conatiner').addClass($('a.selected').text());