我的HTML如下:
<span class="price">
0
<sup>$</sup>
</span>
如何在没有0
的情况下才能获得<sup>$</sup>
。
我试过了:
var total = parseFloat($('.price').text());
感谢。
答案 0 :(得分:1)
$( “价”)
返回一个集合或数组,需要指定该元素。在这种情况下,您可以使用JQuery eq函数指定它。
var total = parseFloat($('.price').eq(0).text());
我使用0(零),因为您的HTML只有一个元素价格
答案 1 :(得分:1)
试试这个
var price = $('.price').contents().map(function() {
if (this.nodeType == 3 && this.textContent.trim() != '') return Number(this.textContent);
}).get().join();
console.log(price);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<span class="price">
0
<sup>$</sup>
</span>
&#13;
答案 2 :(得分:1)
您可以通过以下分割轻松获得
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
<span class="price">
0
<sup>$</sup>
</span>
</body>
<script type="text/javascript">
$(document).ready(function(){
var thePricewith_$ = $(".price").text(); // get the text
var splitted = thePricewith_$.split("$"); // split it from dollar sign
var onlyPrice = splitted[0]; // this gives the price text
var dollarSign = splitted[1]; // this gives the dollar sign
alert("price without dollar sign : "+ onlyPrice) // print only the price
//additional, if you want to convert it to int and use it do it like this
// var piceInt = parseInt(onlyPrice)
// alert(piceInt+5)
});
</script>
</html>
&#13;
答案 3 :(得分:0)
获取innerHTML
并删除标记内的任何内容:
var text = document.getElementsByClassName('price')[0].innerHTML.replace(/<.*>.*<\/.*?>/g, '');
console.log(text);
<body>
<span class="price">
0
<sup>$</sup>
</span>
<?body>
答案 4 :(得分:0)
假设只有一个对象的类price
,并且您想忽略子节点中的任何文本...
var total = parseFloat($('.price')[0].childNodes[0].nodeValue);
console.log(total);
console.log($('.price')[0].childNodes[0].nodeValue);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<span class="price">
0<sup>$</sup>
</span>
&#13;
这也可以在没有jquery的情况下稍作修改:
var total = parseFloat(document.getElementsByClassName('price')[0].childNodes[0].nodeValue);