如何使用jQuery引用元素

时间:2016-02-02 11:52:39

标签: jquery html

我正在尝试获取HTML元素中已存在的值,并使用jQuery将其传递给另一个元素。我不确定我是否错误地引用了该元素,因为它返回的不是数字值。你能看一下我的代码和帮助吗?



var oldPrice = parseFloat(jQuery('.product-price-worth .price .price').first().text().replace(/[^0-9\.]+/g, ""), 10);

$('div.ratio-div').html('<p>Now ' + oldPrice + '</p>');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="regular-price" itemprop="offers" itemscope="" itemtype="http://schema.org/Offer">
    
        <link itemprop="availability" href="http://schema.org/InStock" content="In Stock">
        <span id="product-price-12674" class="product-price-worth">
            <span class="symbol-block">
                                    <span class="price-comment">Now</span>
<span class="currency-symbol">£</span>
</span>
<span itemprop="price">
                <span class="price"><span class="currency"></span>169</span>
</span>
</span>


</span>

<div class="ratio-div">&nbsp;</div>
&#13;
&#13;
&#13;

JSFiddle

5 个答案:

答案 0 :(得分:1)

var oldPrice = parseFloat(jQuery('.product-price-worth [itemprop="price"] .price').first().text().replace(/[^0-9\.]+/g, ""), 10);
$('div.ratio-div').html('<p>Now ' + oldPrice + '</p>');

你需要在那里使用属性选择器,编辑[itemprop="price"],因为你已经使用了itemprop作为class price元素之前的属性。 https://jsfiddle.net/nqo6n8e6/3/

答案 1 :(得分:1)

oldprice = jQuery('.product-price-worth span.price').text();
oldprice = parseFloat(oldprice.replace(/[^0-9\.]+/g, ""), 10);

答案 2 :(得分:1)

如果您在价格类的范围内添加id,请执行以下操作:

<span class="price" id="oldPrice"><span class="currency"></span>169</span>

然后你可以像这样得到价值:

var oldPrice = parseFloat($('#oldPrice').text());

答案 3 :(得分:1)

您的代码很完美,但您在jquery中使用两个类作为同名(.price)。 试试这个:

&#13;
&#13;
var oldPrice = parseFloat(jQuery('.product-price-worth      .price').first().text().replace(/[^0-9\.]+/g, ""), 10);

     $('div.ratio-div').html('<p>Now ' + oldPrice + '</p>');
&#13;
<span class="regular-price" itemprop="offers" itemscope="" itemtype="http://schema.org/Offer">
    
        <link itemprop="availability" href="http://schema.org/InStock" content="In Stock">
        <span id="product-price-12674" class="product-price-worth">
            <span class="symbol-block">
                                    <span class="price-comment">Now</span>
<span class="currency-symbol">£</span>
</span>
<span itemprop="price">
                <span class="price"><span class="currency"></span>169</span>
</span>
</span>


</span>

<div class="ratio-div">&nbsp;</div>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

选择器中的第一个.price

'.product-price-worth .price .price'

不存在,因为span是

<span itemprop="price">
你可以:

  • 将选择器更改为:

    &#39; .product-price-worth [itemprop =&#34; price&#34;] .price&#39;

  • 将范围更改为

  • 完全删除一个.price,因为选择器中的[空格]意味着任何级别的任何子级,而不仅仅是直接的后代

    &#39; .product-price-worth .price&#39;

更新了小提琴:https://jsfiddle.net/nqo6n8e6/4/