javascript - 当 href 为空时隐藏 <li>

标签 javascript jquery html hide

我想在 .social-menu 中隐藏任何具有空白 href 的 LI。

我原来有:

$('ul.social-menu li a[href*=""]').hide();

但它只是隐藏了链接。

我想也许我可以使用:

$('ul.social-menu li a[href*=""]').addClass('hidden')

但它并没有添加隐藏的类。

HTML 是:

<ul class="social-menu">
   <li class="facebook"><a target="parent" href=""></a></li>
   <li class="twitter"><a target="parent" href="http://twitter.com/#!/dft_au">Twitter</a></li>
</ul>

最佳答案

使用the :has() selectorthe has() method选择所有 <li>包含 anchor ( <a> ) 和空 href 的元素属性值:

$('ul.social-menu li:has(a[href=""])').hide();
// or…
$('ul.social-menu li').has('a[href=""]').hide();

请注意 .has():has() 更有效率: http://jsperf.com/jquery-has-vs-has虽然:has()恕我直言,更具可读性。

关于javascript - 当 href 为空时隐藏 <li>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9308211/

相关文章:

jquery 将事件处理程序添加到数组中的对象

jquery - 错误: Option 'ajax' is not allowed for Select2 when attached to a <select> element woocommerce

javascript - OpenWeather API - 提取 JSON 数据

html - 使用具有动态高度的CSS更改div的顺序,文本垂直居中对齐

javascript - 为什么 function(){} 不起作用,但 (function(){}) 起作用? (Chrome 开发者工具/节点)

jQuery - Hook ajax 响应?

javascript - 找到所有链接并用它们的 href 值替换它们

php - 自定义文件上传按钮

javascript - JQuery .append 的 </select> 标记被忽略

javascript - CSS 菜单-子菜单下拉定位?