现在已经有一段时间了。基本上,我需要检查类href
的锚标记上的.pdf-download
是空的,如果是,则隐藏它。
我尝试了一些选择,但没有运气。这就是我到目前为止所做的:
$("a.pdf-download").each(function (i) {
if ($('[href]:empty',this).length == 1) {
$(this).hide();
} else {
$(this).show();
}
});
答案 0 :(得分:23)
if ($(this).attr('href') != '') {
$(this).hide();
} else {
$(this).show();
}
请注意,您也可以使用attribute selectors:
在css中执行此操作a.pdf-download[href='']{
display:none;
}
虽然在ie6中不支持。
答案 1 :(得分:6)
您也可以使用jQuery选择器执行此操作,如下所示:
// Hide any links with blank href or no href attribute
$('a.pdf-download[href=], a.pdf-download:not([href])').hide();
答案 2 :(得分:4)
使用此解决方案。如果未定义href
属性,它也会产生所需的结果。如果使用CSS选择器(JQuery),则不会检测到不存在的href
属性。
$("a.pdf-download").each(function (i) {
if (!this.href) {
$(this).hide();
} else {
$(this).show();
}
})
没有必要使用JQuery方法来获取href
属性,因为this.href
同样可读,更快且受到普遍支持。
答案 3 :(得分:3)
这样的事情会起作用吗?
$("a.pdf-download").each(function (i) {
if ($(this).attr('href').length == 0) {
$(this).hide();
} else {
$(this).show();
}
});
答案 4 :(得分:1)
$(function() {
$('a').each(function() {
(!$(this).attr('href')) ? $(this).hide() : $(this).show();
});
});
答案 5 :(得分:1)
$("a.pdf-download").each(function() {
var href = $(this).attr("href");
if(href == '') {
$(this).remove();
}
});
或
$("a.pdf-download[href='']").remove()
答案 6 :(得分:0)
我自己就是一个jquery初学者,但那就是我会怎么做的:
$("a.pdf-download").each(function (i) {
var aHref = $(this).attr('href');
if (aHref == '' || !aHref) {
$(this).hide();
};
});