链接类名称目标div与链接的类名相同的ID
基本上我有一个类名链接列表和一个div的容器,它与链接的类名相同。链接类名称目标div与链接的类名相同的ID
<ul>
<li><a class="table-names">Names</a></li>
<li><a class="table-addresses">Addresses</a></li>
<li><a class="table-phone">Phone Numbers</a></li>
</ul>
<div class="container">
<div id="table-names" class="selected">...</div>
<div id="table-addresses">...</div>
<div id="table-phone">...</div>
</div>
如果我链接“表名”,然后id="table-names"
需要点击有类selected
,并将兄弟姐妹需要有一流的“选择”中删除。
这里是我的jQuery:
$('ul li a').click(function() {
$(this).parent('li').addClass("selected").siblings("li").removeClass("selected");
$('.container div').removeClass("selected");
$('#' + $(this).className()).addClass("selected");
});
这有点不工作,尽管我相信代码是正确的。我究竟做错了什么?
$(this).className()
无效,则需要将其更改为$(this).attr('class')
或this.className
$('ul li a').click(function() {
$(this).parent('li').addClass("selected").siblings("li").removeClass("selected");
$('.container div').removeClass("selected");
$('#' + $(this).attr('class')).addClass("selected");
});
是的,做到了这一招:)奇怪,我想我看到className用在某个地方。但是,这工作非常感谢你。 –
@WimMertens - 不客气。 'className'是本地DOM元素的属性,而不是jQuery函数,因此它可以是'this.className'或'$(this).attr('class')' – adeneo
的className是不是一个jQuery方法
var target = document.getElementById("table-names"); alert(target.className) //not className()
要获得jQuery的类,使用ATTR(“类“),attr()方法可用于获取或设置任何属性...
var $use = $(this).attr("class"); $("#"+$use).siblings().removeClass("selected")
我希望这可以帮助
使用'$(this).attr('class')'你确定只有一个类在主播 – guradio
谢谢,当然,我没有想到这一点。 –
很高兴帮助队友:) – guradio