我在页面上有一个菜单。我想将class username
添加到我的用户名范围,其中包含a href
;等于?m=user_admin&p=edit_user&user_id=1
。
请记住,无论用户名是什么,我都希望它添加此类!因为用户名会一直变化。我该怎么办?
<div class="menu">
<ul>
<li><a class="user_menu_link_selected" href="#"><span>Dashboard</span></a></li>
<li><a class="user_menu_link" href="#"><span>Monitor</span></a><li>
<li><a class="user_menu_link" href="#"><span>Admin</span></a></li>
<li><a class="user_menu_link" href="#"><span>FTP</span></a></li>
<li><a class="user_menu_link" href="?m=user_admin&p=edit_user&user_id=1"><span>my username</span></a></li>
</ul>
</div>
&#13;
我尝试了这个JS代码,但它将类添加到所有跨度中。我只想在我的用户名范围上添加它,因为href等于?m=user_admin&p=edit_user&user_id=1
。
$('ul a').each(
function(){
if($(this).attr('href')=="?m=user_admin&p=edit_user&user_id=1"){
$('.menu > ul > li > a > span').addClass("username");
}
});
&#13;
答案 0 :(得分:3)
$('ul a').each(
function(){
if($(this).attr('href')=="?m=user_admin&p=edit_user&user_id=1"){
$(this).find('span').addClass("username");
}
});
答案 1 :(得分:0)
以下行应参考this
:
$('.menu > ul > li > a > span').addClass("username");
可能
$(this).addClass("username");
答案 2 :(得分:0)
使用CSS
这里是documentation,它会选择其父span
有链接的所有a
a[href='?m=user_admin&p=edit_user&user_id=1'] span {
color:Red
}
答案 3 :(得分:0)
试试这个..
$('ul li a').each(
function(index){
if($(this).attr('href')=="?m=user_admin&p=edit_user&user_id=1"){
$(this).children('span').addClass("username");
}
});
答案 4 :(得分:0)
你可以在这里查看jsfiddle: http://jsfiddle.net/ow1478rd/
这是代码的要点:
$('ul > li > a').each(function(){
if($(this).attr('href')=="?m=user_admin&p=edit_user&user_id=1"){
$(this).closest("li").find("span").addClass("username");
}
});
基本上这里要注意的是“最接近”将基本上搜索UP,然后“查找”将搜索DOWN DOM。因此,对于您的结构,您将前往最近的列表元素,然后在其中查找其中的跨度以更改CSS。希望这有助于人。