使用jQuery检查href是否包含DOT

时间:2018-08-22 11:51:46

标签: jquery

如何检查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等的链接

2 个答案:

答案 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()来实现更高级的逻辑。

使用enter image description here并检查href url中特定搜索参数的示例

$('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>