删除标记内的所有内容,但删除另一个标记jquery

时间:2011-11-30 20:50:11

标签: javascript jquery

我有这段HT​​ML

    <div id="Cart">
    <p>
        You have <strong>1</strong> item in your cart.
        Your sub total is <strong>$35.00</strong>.
    </p>
    </div>

我需要能够在<strongs>之间获取信息并删除其他所有信息,这是否可以使用jquery?我试过$("#Cart strong:not()")但是没有选择任何东西,我想可能把信息放在一个变量中,用.remove删除所有内容并重新打印变量但是我真的不知道怎么做,有人可以帮我吗?

强者之间的信息是动态的,我相信所有其他的都是在我无法访问的php文件中...也许过滤这些词并删除它们?欢迎任何建议:)

3 个答案:

答案 0 :(得分:3)

以下是一些可以帮助您入门的代码:

var strongs = [];
$('#Cart strong').each(function() {
    strongs.push($(this).text());
});
$('#Cart').html('First strong contains: ' + strongs[0] + '; And the second: ' + strongs[1]);

以下是其工作示例:http://jsfiddle.net/SBRhk/

答案 1 :(得分:1)

$('#Cart p').contents(':not(strong)').remove();

DEMO

答案 2 :(得分:0)

好的,如果我理解你想要什么,你想从强者那里获得信息。

如果你不反对向你的强者添加类或id(我在这里使用id),这是最好的方法。

所以将你的HTML改为:

<div id="Cart">
    <p>
        You have <strong id="numItems">1</strong> item in your cart.
        Your sub total is <strong id="cost">$35.00</strong>.
    </p>
</div>

这就是你如何在一个字符串中得到它,你可以追加或者你需要的地方:

var yourString = "You have " + $('#Cart #numitems').text() + " item(s) in your cart. Your subtotal is: " + $('#Cart #cost').text();