【发布时间】:2018-08-30 10:15:13
【问题描述】:
我有一个magento 网站,我正在尝试扫描表格以查找折扣代码,如果存在折扣代码,则更新表格的另一部分。
我用来尝试实现此目的的代码如下:
console.log("Discount Code Script Loaded");
$(function(){
if($('#checkout-review-table-wrapper p').text().replace(/\W/g, '')=="NathanTest9856"){
console.log("Found code");
$('span.price p').html("£0.00");
console.log("Shipping Total Corrected");
} else{
console.log("Coupon Code Not Found")
}
console.log("Discount Code Script Completed");
});
console.log($('#checkout-review-table-wrapper p').text().replace(/\W/g, ''));
页面代码简化如下:
<body>
<div id="checkout-review-table-wrapper">
<p>
Discount Code (NathanTest9856)
</p>
</div>
<span class="price">
<p>
£15.00
</p>
</span>
</body>
这也可以在 jsfiddle 中找到:https://jsfiddle.net/nlangerdevcenturion/qu6bvrc0/35/
我似乎面临的问题是,它无法在p 标记中检测到 NathanTest9856 的折扣代码。
从下面的错误可以看出:Uncaught TypeError: Cannot read property 'text' of null at centurion.js:12
【问题讨论】:
-
您的代码正在尝试将
DiscountCodeNathanTest9856与NathanTest9856进行比较,将您的代码放在一个跨度中,然后从中获取详细信息,这是您代码的更新fiddle。 -
上述“可能的”重复不包括 jquery
:contains,这似乎很适合这种情况。
标签: javascript jquery html magento