jQuery如何测试这个<a> has href attribute</a>

时间:2012-08-11 07:55:15

标签: jquery jquery-selectors

非常简单的问题......

$('a')

如何测试该jQuery对象是否具有HREF属性?我正在寻找可以在if()语句中使用的返回true或false的内容。

谢谢!

4 个答案:

答案 0 :(得分:14)

如果所选元素中缺少要找到的属性,则jQuery的.attr()函数将返回undefined。

if($('a').attr('href') === undefined) { 
   // Element 'a' has no href
}

注意:还有其他方法可以测试undefined

答案 1 :(得分:2)

if((typeof $('a').attr('href')) !== 'undefined') { 
  // a has attr href, with 'undefined' not undefined 
}

尝试使用jquery 1.8 on chrome,firefox,safari和ie8。

答案 2 :(得分:2)

 if(!$('a').attr('href')) {      
     alert("<a> does not have href attribute");    
}

此代码还会检查空链接。注意:Jquery属性值是字符串。

http://jsfiddle.net/TzUN3/204/

答案 3 :(得分:1)

if ($('a').not($('a:link')).length) {
    //you have `<a>` elements that are placeholders only
}