Как узнать значение тега? - PullRequest
       46

Как узнать значение тега?

1 голос
/ 06 августа 2020

У меня есть следующее html на моей странице asp. net, и я хотел бы получить только значение в теге p, используя jquery.

<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 ]

2 голосов
/ 06 августа 2020

Вы можете получить text из pi и удалить его из 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 голосов
/ 06 августа 2020

Есть много способов, например ...

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

https://jsfiddle.net/0hLxje8z/

1 голос
/ 06 августа 2020

Вы можете это сделать:

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>
1 голос
/ 06 августа 2020

Попробуйте следующее:

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('€','');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...