jquery删除重复内容的方法

时间:2012-10-26 18:21:45

标签: javascript jquery jquery-selectors twitter-bootstrap

我有一个使用bootstrap popover的popover对话框,它填充页面底部另一个div的内容。

html看起来像:

我循环播放的元素并将弹出窗口附加到:

<sup id="cite_ref-3-0" class="reference bootstrap-footnote" data-original-title="">
  [<a href="#cite_note-3">3</a>]
</sup>

文档底部带有填充弹出窗口的引用:

<li id="cite_note-1">
    <b><a href="#cite_ref-1-0">^</a> </b> 
    <a target="_blank" href="http://www.guardian.co.uk/music/musicblog/2009/aug/17/major-labels-spotify/">
         "Behind the music: The real reason why the major labels love Spotify"
    </a> 
    <i>The Guardian.</i>  17 August 2009
</li>

我有一个jquery函数迭代页面上的所有引用,但我无法弄清楚如何在填充popover之前解析html。我想删除<b>标记及其中的所有内容。

我在我的变量上尝试了.remove(“b”)的各种组合,但无济于事。我错过了什么?

        $element
            .addClass("bootstrap-footnote")
            .each(function(i,item) {
                var footnote_ref = $("a", this).attr("href");
                var footnote_val = $(footnote_ref).html(); //remove("b")
                var footnote = footnote_val; //remove("b")
                $(item).popover({
                    html: true,
                    title: null,
                    content: footnote,
                    delay: { show: 50, hide: 1500 },
                    //placement: "bottom",
                    trigger: "hover"
                });
            });

1 个答案:

答案 0 :(得分:1)

我想我明白你现在想要什么

$element.addClass("bootstrap-footnote").each(function(i, item) {        
    var liID = $('a',this).attr('href'); // this is your li's id
    var footnote = $(liID).clone().find('b').remove().end();   // clone the li - remove b

    $(item).popover({
        html: true,
        title: null,
        content: footnote.html(),
        delay: {
            show: 50,
            hide: 1500
        },
        //placement: "bottom",
        trigger: "hover"
    });
});​