jQuery中的简单标签提取



如果

<p id="target">
  <span><sup>$</sup>50</span>
</p>
var $p = $("p#target");

如何从$p获得文本50,即没有美元符号?

var num = $("#target > span")[0].lastChild.data;
http://jsfiddle.net/FJmLd/

有一种方法:

var clone = $("#target").clone();
clone.find("sup").remove();
var text = clone.text();

演示:http://jsfiddle.net/ANp9y/

…或者,如果只有一美元你需要担心:

var text = $.trim($("#target").text().replace("$", ""));

你可以这样做

var a = $('#target span').text();
var b = a.split('$');
alert(b[1]);

示例:http://jsfiddle.net/2mgeC/

您可以遍历内容并连接修剪过的文本节点:

var text = $("#target span").contents().map(function() {
    if(this.nodeType == Node.TEXT_NODE){
        return $.trim(this.nodeValue);
    }
}).toArray().join();
alert(text); //50

JSFiddle

最新更新