CSS选择器问题

         <ul>
              <li class="active"><a  href="#">HOME</a> </li>
              <li><a href="#">ABOUT US</a></li>
              <li><a href="#">ADSFDFD QEW</a></li>
              <li><a href="#">QWQEWE</a></li>
          </ul>
          
          
   现在我需要选中ul中除去class="active"的所有li标签  请问怎么选中
阅读 4k
9 个回答
新手上路,请多包涵

css选择器可以用jq

如果是JS选择器或者JQ来操作的话很简单

如果是css可以用优先级覆盖来解决你的问题

ul li{
    background:red;
}
ul li.active{
    background:transparent;
}

根据你类名active、推断出应该是一个点击态或者活动态、通常这种都是用样式覆盖好一些、通俗易懂、后面维护也方便

ul li:not(.active) {}

$("ul li:not(.active)")

写错了。。。以为拿到active。。
参考 css3的not

var result = Array.prototype.filter.call(document.querySelectorAll('ul > li'), function (item){
  return item.className.indexOf('active') === -1;
});

ul li:not(li[class~='active'])

新手上路,请多包涵

ul>li:not(.active)>a ie9及以上都支持

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题