在HTML页面中加载jquery时遇到问题

时间:2012-10-23 19:21:18

标签: jquery html

在html页面中加载jquery脚本时遇到问题。当我调试某些意味着变成红色的值但它们没有。我究竟做错了什么? 仅供参考我想在视觉工作室中复制:http://jsfiddle.net/jfriend00/GAwrB/

    <html>
<head>
<title></title>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
    $(".colorMe td").each(function() {
        var valueInTd = $(this).text();
        if (valueInTd < 3000) {
            $(this).css('background-color', '#F00000');
        }
    });
});

</head>
<body>
 <table class="colorMe">
<tr><td>2000</td><td>3500</td></tr>
<tr><td>3000</td><td>2500</td></tr>
<tr><td>4000</td><td>4500</td></tr>
</table>​
  </body>
</html>

4 个答案:

答案 0 :(得分:1)

我不确定你要做什么,看起来你正在混合IIFE(立即调用函数表达式)和常规函数声明。

如果您只是将自己的代码粘贴到JSFiddle中,则可以看到错误:http://jsfiddle.net/f6sH6/

以下是我收到的错误:Uncaught ReferenceError: rr is not defined

看起来你试图使问题复杂化。这很好用:

$(function () {
    $(".colorMe td").each(function() {
        var val = parseInt(this.innerHTML, 10);
        if (val < 3000) {
            this.style.backgroundColor = "#F00000";
        }
    });
});

答案 1 :(得分:0)

jQuery语法略有不同:

$(".colorMe td").each(
    var val = parseInt($(this).text(), 10);
    if (val < 3000) {
        $(this).css('background-color','#F00000');
    }
)

答案 2 :(得分:0)

我可以看到2个问题。 1)rr的函数声明在括号内,所以它不能在那些之外到达,2)你正在调用的each函数使用了不正确的语法。它应该看起来像:

$(".colorMe td").each(function() {
    // ... code
});

答案 3 :(得分:0)

这是另一个例子:

http://jsfiddle.net/GAwrB/92/

我在jQuery版本上发现了一个问题。您应该尝试使用最新版本并使用onDomReady而不是onLoad,它可以为您提供示例。

此致