首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用css或jquery针对optgroup的第一个子组?

如何使用css或jquery针对optgroup的第一个子组?
EN

Stack Overflow用户
提问于 2014-05-14 23:23:10
回答 2查看 1.2K关注 0票数 1

有没有办法将标有"Portfolio“并显示名称"Main”的optgroup的第一个子组作为目标?

我需要删除它只显示在移动菜单(它不显示在桌面菜单)。这是一个Wordpress主题菜单,菜单小部件无法访问它。菜单是由媒体查询(我猜)触发的mobilemenu.js创建的。它以两个不同的名称/菜单项目显示主页。我希望只针对这个菜单项目,并使用css显示:没有或jQuery getElementByID解决方案,但到目前为止还没有成功。在这件事上我有点过意不去,因为我似乎无法瞄准它。任何帮助都将不胜感激!

代码语言:javascript
复制
<div class="mobilenavi">
  <select id="mm0" class="mnav" style="display: inline-block;">
    <option value="undefined">Click here:</option>
    <option value="http://somedomain.com/">Home</option>
    <optgroup label="Portfolios">
      <option value="#">Main</option>
      <option value="http://somedomain.com/portfolio-1/">Portfolio 1</option>
      <option value="http://somedomain.com/portfolios/portfolio-2/">Portfolio 2</option>
      <option value="http://somedomain.com/portfolios/portfolio-3/">Portfolio 3</option>
      <option value="http://somedomain.com/portfolios/beach-portfolio/">Beach Portfolio</option>
      <option value="http://somedomain.com/portfolios/photos/">Photos</option>
    </optgroup>
    <option value="http://somedomain.com/contact/">Contact Kim</option>
  </select>
</div>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-14 23:28:30

这种CSS方法可以在某些浏览器中工作:

Example Here

代码语言:javascript
复制
optgroup[label="Portfolios"] option:first-child {
    display:none;
}

正如@canon所指出的那样,display:none并不能在所有浏览器中工作。

如果要用jQuery删除它,请使用:

Example Here

代码语言:javascript
复制
$('optgroup[label="Portfolios"] option:first-child').remove();

或者,如果您想要一种纯JS方法:

Example Here

代码语言:javascript
复制
var el = document.querySelector('optgroup[label="Portfolios"]');
el.removeChild(el.getElementsByTagName('option')[0]);
票数 2
EN

Stack Overflow用户

发布于 2014-05-14 23:29:46

$('optgroup选项:nth-child(1)‘).hide();工作吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23666787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档