如果
<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