我想强调特定的锚标记&#39;祖父母列表(<li>
)。我正在使用window.location.href
来选择特定的锚标记。但我不知道如何突出特定的锚标记&#39;祖父母li
?
HTML
<ul id="dc_jqaccordion_widget-3-item">
<li><a></a></li>
<li>/*want to highlight this*/
<ul>
<li>
<a href="something"></a>
</li>
</ul>
</li>
</ul>
的jQuery
jQuery("#dc_jqaccordion_widget-3-item ul li ul li a").each(function(){
if(jQuery(this).attr('href') == window.location.href){
jQuery(this).css("background-Color", "#FEDFB5");
jQuery(this).parents("ul").find('#dc_jqaccordion_widget-3-item ul li a').css( "background-color", "red" );
}
});
以上代码会影响ul中的所有锚标签吗?需要帮助
答案 0 :(得分:0)
以下是一个工作示例:http://jsfiddle.net/m1r7ybwk/1/
首先将您的HTML更改为:
<ul id="dc_jqaccordion_widget-3-item">
<li><a></a></li>
<li class="level-1"><span>/*want to highlight this*/</span>
<ul>
<li> <a href="something">asdf</a></li>
</ul>
</li>
</ul>
然后在你的css中添加:
li.highlight span {
display: inline-block;
background-color: red;
}
和你的javascript:
jQuery("#dc_jqaccordion_widget-3-item li ul li a").each(function () {
if (jQuery(this).attr('href') == 'something') { // for debugging window.location.href){
jQuery(this).css("background-Color", "#FEDFB5");
jQuery(this).closest('li[class^="level-1"]').addClass('highlight');
}
});
按需工作。
或者你可以使用parent函数:
jQuery(this).parents('li[class^="level-1"]').addClass('highlight');
答案 1 :(得分:0)
尝试使用此代码时,您使用了错误的选择器ul#dc_jqaccordion_widget-3-item
,因为ul
有id
所以请先使用空格和元素,然后将parents()
目标用于parents()
所有内容parent()
1}}使用jQuery("ul#dc_jqaccordion_widget-3-item > li > ul > li a").each(function(){
if(jQuery(this).attr('href') == window.location.href){
jQuery(this).css("background-Color", "#FEDFB5");
jQuery(this).parent().parent().parent().css( "background-color", "pink" );
}
});
函数
{{1}}
答案 2 :(得分:0)
我认为这就是你想要的:
$("#dc_jqaccordion_widget-3-item a").each(function(){
if($(this).attr("href") == "something"){
$(this).closest("ul").closest("li").css({"background-color":"red"});
}
});