我的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
。
答案 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>/, '');
答案 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>