我有一个看起来像这样的div:
<em id="ProductPrice" class="ProductPrice VariationProductPrice">$75.00</em>
如果文本的颜色有变化,我需要让文字颜色改变颜色。
我写了这个:
<script>
$(document).ajaxSuccess(function(){
var currentPrice = $.trim($("#ProductPrice").text());
if(currentPrice == "%%GLOBAL_ProductPrice%%")
{
$("#ProductPrice").style.color="black";
console.log("black");
}
else
{
$("#ProductPrice").style.color="red";
console.log("red");
}
});
%% GLOBAL_ProductPrice %%是CMS中的一个变量,它在发生任何更改之前提供基值。
我收到错误'undefined'不是对象(评估'&amp;(“#ProductPrice”)。style.color =“red”')
我做错了什么?
答案 0 :(得分:7)
您在普通的Javascript中使用jQuery选择器,将无法正常工作。在javascript中,您可以更改属性style
,在jQuery中,您有一个方法.css()来执行此操作。
请改为尝试:
$("#ProductPrice").css('color','black');
或普通javascript
document.getElementById('ProductPrice').style.color="black";
答案 1 :(得分:2)
jQuery对象没有名为style
的属性。你正在混合使用jQuery和本地js。试试这个:
$("#ProductPrice").css('color', 'black');
答案 2 :(得分:0)
$(selector)
给你一个jQuery对象,而不是你试试.style调用的HTMLElement。
请改为尝试:
$("#ProductPrice").css("color", "red");