如何删除<a> tag only when xml node is empty</a>

时间:2011-06-06 19:10:59

标签: jquery xml

首先,我为我可怜的英语道歉。

我正在使用jquery插件jParse,它可以轻松解析xml。这是演示页面(http://jparse.kylerush.net/demo

我已经尝试过几次,但是如果href为空,似乎无法弄清楚如何删除<a>标记。

这是我的代码:

elementTag: ['category', 'pubDate', 'title', 'link', 'description'];
output: '<dl><dt class="jpet00">jpet01</dt><dd><strong><a href="jpet03">jpet02</a></strong><br />jpet04</dd></dl>';

如果xml'link'节点为空,我想像这样输出

output: '<dl><dt class="jpet00">jpet01</dt><dd><strong>jpet03jpet02</strong><br />jpet04</dd></dl>';

我尝试了 $(“a [href ='']”)。remove()但它没有用。

有什么建议吗?提前谢谢!

2 个答案:

答案 0 :(得分:0)

我没有测试过,但是类似的东西可能会起作用:

 $("a").each( function() {
       if($(this)).text= "") {
          $(this).remove();
       }
    }
  )

答案 1 :(得分:0)

你在哪里打电话$("a[href='']").remove() - 它应该在你演示的finish()函数中。如果您正在使用它,则可能是href不是完全空的。尝试:

function finish() {
    jQuery('#jparse-meta').remove();
    $('a').each(function() {
        var string = $(this).text().replace(/\s{2,}/g, '')
        if (string == "") {
            $(this).remove();
        }
    });
}

编辑1 按照评论中的要求

function finish() {
    jQuery('#jparse-meta').remove();
    $('a[href=""]').each(function() {
        $(this).parent('strong').html($(this).text());
    });
}