好吧,也许标题不能最好地解释我想要实现什么,但如果我能更好地解释,希望有人可以帮助我:
我使用以下代码选择<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”方式来做到这一点,但我别无选择,只能这样做,因为无论如何我都无法编辑页面的来源,所以它必须是基于浏览器的解决方案而不是服务器端。
答案 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());