我有一些使用PHP创建的div。 div中的锚点总是有一个HREF,即使它是空白的。基本上,我试图检测HREF是否为空白。如果它有内容,则不执行任何操作,如果它是空白的,则删除文本,删除锚点,然后将文本重新放入。
这是div:
<div class="title">
<a class="article" href="">Lorem Ipsum</a>
</div>
这是我的代码:
jQuery(document).ready(function($) { //required for $ to work in Wordpress
$(".article").each(function(){
if ($(this).attr('href') !== undefined) {
return;
} else {
var linkTitle = $(this).html();
$(this).parent().empty().html(linkTitle);
}
});
//-->
});
答案 0 :(得分:15)
您可以使用.replaceWith()
检查空href
属性并“解包”这些链接,如下所示:
$(".article[href='']").replaceWith(function() { return this.innerHTML; });
答案 1 :(得分:15)
您可以简单地将属性测试为布尔值,而不是针对undefined
测试它:
if ($(this).attr('href')) {
// href is not blank
} else {
// href is blank
}
答案 2 :(得分:1)
简单地摆脱'href'属性:
$("#myLink[href='']").removeAttr('href');
对于多重定位,例如'style'属性:
$("#myDiv td, a, p, table, nav, header[style='']").removeAttr('style');
这样,只有当属性为空时才会删除它,而不是删除整个元素本身。
完整的代码示例如下:
$('#myDiv table, tr, td, a, p').each(function() {
if ($(this).attr('style') == '') {
$(this).removeAttr('style');
}
})