给具有与Page-URL相同href-link的anchor-element jQuery类

时间:2018-10-24 14:11:03

标签: javascript jquery

Heyo,

我目前正在编写一个小脚本,但遇到了一个小问题。 我想从一个列表中定位一个<a>,该列表具有与当前Page-URL相同的href链接,并为其指定一个Class。我得到href部分的麻烦,但是我不知道如何用类来Tag那个特定的<a>。这是代码:

var url = window.location.pathname; // for example /somebody
var href = $('a').attr('href');

if (url == href) {
  $('the Anchor with the right URL').addClass('myClass');
};
.myClass {
  color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a href="/somebody">Somebody</a>
<a href="/once">Once</a>
<a href="/told">Told</a>
<a href="/me">Me</a>

2 个答案:

答案 0 :(得分:2)

您可以使用更专业的选择器直接选择正确的链接。提示是,您还可以在其中选择属性:

AAA.cObjectList= (from tdrc in db.cTable
              where tdrc.cID == id
              select tdrc).ToList();
var url = '/somebody'; //window.location.pathname; // for example /somebody
var link = $( `a[href="${ url }"]` );

if (link) link.addClass('myClass');
.myClass {
  color: red;
}

答案 1 :(得分:0)

您需要使用jQuery遍历所有<a>元素并检查href属性:

var url =  '/somebody'
$('a').each(function(){
  if($(this).attr('href') === url){
    $(this).addClass('myClass');
  }
});
.myClass {
  color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="/somebody">Somebody</a>
<a href="/once">Once</a>
<a href="/told">Told</a>
<a href="/me">Me</a>

或者您甚至可以使用属性选择器使用单个衬纸:

var url = '/somebody'
$('a[href="' + url + '"]').addClass('myClass');
.myClass {
  color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="/somebody">Somebody</a>
<a href="/once">Once</a>
<a href="/told">Told</a>
<a href="/me">Me</a>