我想检查锚标记何时没有href值,即使标记中存在href,然后向用户显示消息。例如
HTML:
注意 - 我无法更改此锚标记的定义方式,因此我无法添加href =" ",html由wordpress填充,我不想改变它
jQuery的:
$('a').click(function (e) {
if ($(this).attr('href') == '') {
alert('We do not have more info on this');
e.preventDefault();
}
})
上述代码仅在href定义如下时才有效:
<a href="" ></a>
如何更改我的jQuery以检查href是否存在,但未定义,如上面的html中所示?我尝试了以下方法,但也无效:
if ($(this).attr('href') === undefined) {
由于
答案 0 :(得分:3)
undefined
和空字符串都是假的,所以你要做的就是直接检查属性,而不是专门检查空字符串
$('a').click(function (e) {
if (! $(this).attr('href') ) {
alert('We do not have more info on this');
e.preventDefault();
}
});
答案 1 :(得分:1)
您可以根据undefine
和trim
值查看该值并与''
进行比较,试试这个:
$('a').click(function (e) {
var href = $(this).attr('href');
if (href === undefined || $.trim(href) === '') {
alert('We do not have more info on this');
e.preventDefault();
}
});
<强> Demo Link 强>
答案 2 :(得分:0)
您可以改为使用选择器:
$('a:not([href]), a[href=""]').click(function (e) {
alert('We do not have more info on this');
e.preventDefault();
})