如何检查href是否包含带点的字符串。我尝试执行以下操作,但不起作用:
$("td.children a[href*=board=9.0]").addClass("child9");
关于我应该如何做的任何想法?
使用
$("a[href*='=9.0']").hide();
不起作用,但是这很好,但是不是我所需要的:
$("a[href*=9]").hide();
这是一种适用于我的解决方案,但我不想在每种情况下都没有多余的代码行:
$("td.children a[href*=9]").addClass("child9");
$("td.children a[href*=39]").removeClass("child9");
以下是我网站上的html示例:
<a href="/index.php?board=1.0" title="No New Posts (Topics: 0, Posts: 0)" class="">BoardTitle_a</a>
<a href="/index.php?board=2.0" title="No New Posts (Topics: 0, Posts: 0)" class="">BoardTitle_b</a>
<a href="/index.php?board=3.0" title="No New Posts (Topics: 0, Posts: 0)" class="">BoardTitle_c</a>
<a href="/index.php?board=4.0" title="No New Posts (Topics: 0, Posts: 0)" class="">BoardTitle_d</a>
<a href="/index.php?board=5.0" title="No New Posts (Topics: 0, Posts: 0)" class="">BoardTitle_e</a>
我从1到39具有这些链接。我想选择一个具有board = 9.0的链接,而不选择那些具有board = 19.0等的链接
答案 0 :(得分:2)
将9.0放在单引号内-$("a[href*='9.0']")
。
$(function(){
$('#hide').click(function() {
$("a[href*='9.0']").hide()
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="19.01">9.0</a>
<button id="hide">hide</button>
答案 1 :(得分:1)
我的猜测是,您需要使用filter()
或each()
来实现更高级的逻辑。
$('a').removeClass('cloud9').filter(function(){
var board = new URL(this.href).searchParams.get('board')
return board === '9.0';
}).addClass('cloud9')
.cloud9 {color:red}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="/index.php?board=9.0">9.0</a>
<a href="/index.php?board=39.0">39.0</a>