Html 查找具有某些子项的元素
我试图将导航菜单项定位到具有子菜单项的菜单项,以便在这些项之后放置一个向下箭头。到目前为止,我有:Html 查找具有某些子项的元素,html,css,css-selectors,Html,Css,Css Selectors,我试图将导航菜单项定位到具有子菜单项的菜单项,以便在这些项之后放置一个向下箭头。到目前为止,我有: nav[role=navigation] ul li a:after { padding-left:5px; content: "\25BE"; color:#00b49c; } 你知道我该怎么做吗 我试过:nav[role=navigation]>ulli a:after但运气不好 谢谢大家试试看 nav[role=navigation] ul li a::after { content
nav[role=navigation] ul li a:after {
padding-left:5px;
content: "\25BE";
color:#00b49c;
}
你知道我该怎么做吗
我试过:nav[role=navigation]>ulli a:after
但运气不好
谢谢大家试试看
nav[role=navigation] ul li a::after {
content: "\25BE";
color:#00b49c;
display: block;
float: left;
width: 20px;
height: 10px;
}
根据提供的信息,我猜ul是子项,对吗?如果是这种情况,我能想出的最佳解决方案(未经测试)是: 如果您是jQuery新手,请注意以下几点:
$(document).ready(function(){})代码>方法
:has
选择器是特定于jQuery的(据我所知,尽管它可能包含在CSS3或CS4中——只要出现).CSS
函数中的CSS属性是逗号分隔的,属性名称在使用的地方漏掉了破折号,破折号后的第一个字母是大写的(例如paddingLeft)ul li a
后面的$(this)
用于表示循环中当前对象中无序列表中列表项内的任何链接
如果我没有很好地回答这个问题,那么请详细说明您想要实现的目标,我会尽力修改我的答案以满足您的要求。您能给我们看一个HTML片段吗?nav[role=“navigation”]ul li a:以后您只限于CSS吗?或者你愿意接受jQuery吗?如果是后者,则jQuery具有选择器,例如
li:has(ul)
(选择包含一个或多个ul
标记的所有li
标记)。如果jQuery还可以的话,我明天会发布一个解决方案让你接受。@ClarkeyBoy:我想你可以发布一个答案。OP在下面承认jQuery是一条可行之路。这并不是针对作为父项的列表项,而是针对所有项,不管它是否有子项。对不起,我的错:nav[role=navigation]>ul>li>a:不幸的是,我刚刚被告知CSS无法根据子项更改父选择器。看来jquery是一个不错的选择。谢谢各位
$(document).ready(function() {
$("nav[role=navigation]:has(ul)").each(function() {
$("ul li a", $(this)).after("\25BE").css({color: "#00b49c", paddingLeft: "5px"});
});
});