JQuery - 如果 link 没有 URL,则将 div 设置为隐藏

JQuery - Set a div to hidden if a link has no URL

我有一段代码我想用js或者jQuery来隐藏某个元素——我有下面的代码:

<a class="subtitle" a href="#" rco-ui-class-toggler="click">Military Families<span class="plus"></span></a>

如果 href 是 # 而不是实际的 url,或者 [=] 上没有 a href="#,我想隐藏 plus 的跨度18=] 元素。

而且我必须为 slim 格式化代码。有人知道最简单的方法吗?

纯 JS

[].slice.call(document.querySelectorAll('a[href="#"]')).forEach(function(el) {
    el.querySelector('.plus').style.display = 'none';
});

或jQuery

$('a[href="#"]').hide();

您也可以进行更具体的过滤,删除没有 href 属性或以散列

开头的任何内容
$('a').filter(function() {
    return !$(this).attr('href')  || $(this).attr('href').indexOf('#') === 0;
}).find('.plus').hide();

试试这个:

$('a').filter(function() {
    return !this.href || this.href.indexOf('#') == this.href.length - 1;
})
.find('span.plus').hide();

$('a').filter(function() {
    return !this.href || this.href.indexOf('#') == this.href.length - 1;
})
.find('span.plus').hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="subtitle" href="#" rco-ui-class-toggler="click">Military Families<span class="plus">HIDE THIS</span></a><br>
<a class="subtitle" href="http://google.com" rco-ui-class-toggler="click">Military Families<span class="plus">DO NOT HIDE THIS</span></a><br>
<a class="subtitle" rco-ui-class-toggler="click">Military Families<span class="plus">HIDE THIS</span></a>