1

再会

我想检查我的页面中是否有包含以下 url 的特定链接:

http://mysite.com/category/products

我正在使用以下内容,但我认为它不正确(因为它不起作用)

if $('#breadcrumbs a.category').attr('href') == "http://mysite.com/category/products";
    alert('It is here!');

HTML 结构如下所示:

<div id="breadcrumbs">
<a class="category" href="">generated by php</a>
<a class="category" href="">generated by php</a>
<a class="category">generated by php</a>
</div>

顶部链接将位于此层次结构中的某个位置...

谢谢你!

更新:页面

4

5 回答 5

4

您可以使用属性选择器:

if ($('#breadcrumbs .category[href="http://mysite.com/category/products"]').length > 0) {
    alert("It's here");
}

文档:

http://api.jquery.com/attribute-equals-selector/

于 2013-03-15T10:41:20.240 回答
1

attr方法只返回第一个被选中元素的值,可以使用filter方法或attr选择器。

$(function() {
    var len = $('#breadcrumbs a.category').filter(function(){
         return this.href === 'http://mysite.com/category/products';
    }).length;

    if (len) {
        alert('It is here!');
    }
});
于 2013-03-15T10:40:43.263 回答
1

尝试更短:

($('[href="http://mysite.com/category/products"]').length > 0) ? alert('Yes there are') : alert('oops');

在这个小提琴中试用

于 2013-03-15T10:46:09.307 回答
0
$('#breadcrumbs').click(function(){

 $(this).children('a').each(function(){
    if($(this).attr('href')=="your url")
        .....
 });
});
于 2013-03-15T10:41:05.793 回答
0
$(document).ready(function() {
   if($('#breadcrumbs a.category').attr('href') == "http://mysite.com/category/products")
   {
       alert('It is here!');
   }    
});  
于 2013-03-15T10:44:27.953 回答