如何获得标签的价值?

时间:2020-08-06 08:47:37

标签: jquery

我的asp.net页面上有以下html,我想使用jquery来获取p标记内的值。

<p><pi>€ </pi>213,47</p>
           

我尝试了以下

var Product = {};
Product.Price = $(this).closest(".caption").find("p:eq(0)").html();

但这给了我"<pi>€ </pi>213,47",但我只想得到值213,47

4 个答案:

答案 0 :(得分:1)

尝试一下:

var Product = {};
Product.Price = $(this).closest(".caption").find("p:eq(0)").text().replace('€','');

更新

由于不支持jQuery 3.4 :eq选择器,因此不再使用它。另外,您可以使用.eq(0)代替:eq(0)

var Product = {};
Product.Price = $(this).closest(".caption").find("p").eq(0).text().replace('€','');

答案 1 :(得分:1)

您可以获取pi中的text并将其从p中删除,即

let pi = $('p > pi').text();
let p = $('p').text();
console.log(p.replace(pi, ''));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p><pi>€ </pi>213,47</p>

答案 2 :(得分:1)

有很多方法,例如...

var p = $('p');
var price = p.html().replace(/<pi>[^<]*<\/pi>/, '');

https://jsfiddle.net/0hLxje8z/

答案 3 :(得分:1)

您可以这样做:

var Product = {};
var caption = $(".caption"); // change this with your selector
Product.Price = caption.find("p").eq(0).text();
console.log(Product)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="caption">
  <p>
    <pi>€ </pi>213,47</p>
</div>

相关问题