'undefined'不是一个对象

时间:2013-09-13 21:27:52

标签: javascript jquery html

我有一个看起来像这样的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”')

我做错了什么?

3 个答案:

答案 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");