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

时间:2009-10-29 19:43:36

标签: javascript jquery

好吧,也许标题不能最好地解释我想要实现什么,但如果我能更好地解释,希望有人可以帮助我:

我使用以下代码选择<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>

我正在使用另一段代码来找出用户当前所在的页面,Google,Yahoo或Bing,然后我再分配另一类“已选择”

例如,如果我在Google页面上,<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'将“已选中”类添加到<div class="container">时,将其添加到其他链接时也是如此。

因此,换句话说,<a>持有'选定'将上一课添加到<div class="container">

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

2 个答案:

答案 0 :(得分:1)

$('.nav').click(function(){
    $(this).addClass($(this).text());  // I believe you already do this.
    $('.conatiner').addClass($(this).text());
});

答案 1 :(得分:0)

您可以将类添加到容器中,如下所示:

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