Jquery比较2项

时间:2016-04-29 17:27:36

标签: jquery magento

我已经浏览了这个网站,寻找这个问题的答案,我知道我已经被要求了。不幸的是,没有一个答案对我有用。我有一个Magento网站,在CMS页面上填充产品图像和价格。我可以把一切都拉得很好。我遇到的问题是价格。由于它的拉动既是销售价格也是正常价格,即使产品没有销售,它也会产生两个价格。我的问题是如何使用jquery运行支票并在与正常价格相同的情况下取消销售价格?

我的标记/ PHP:

<?php $_product = Mage::getModel('catalog/product')->load($this->getData('product_id')); ?>
<div class="priceContainer">
<p id="regularPrice" class="price regular"><?php echo Mage::helper('core')->currency($_product->getPrice()); ?></p>


<p id="salePrice" class="price sale"><?php echo Mage::helper('core')->currency($_product->getFinalPrice(), true, false); ?></p>

我的Jquery:

<script>
var $j = jQuery.noConflict();
var regPrice = $j('#regularPrice');
var salePrice = $j('#salePrice');
if (salePrice[0] === regPrice[0]) {
    $j('#salePrice').css('display', 'none');
}

1 个答案:

答案 0 :(得分:3)

您的问题是您正在比较JQuery对象。尝试比较这样:

$(v).text() === salePrice.eq(k).text()

解释是,在您的代码中,您正在比较具有比内部文本更多信息的JQuery对象,这是价格。

因此,您必须从JQuery对象获取文本。你可以这样做来调用.text()方法。

修改 检查此fiddle以查看循环中的示例。

警告:您不应多次使用相同的ID。而不是你应该使用一个类