0

HTMLページでjqueryスクリプトをロードするのに問題があります。赤になることを意図した特定の値をデバッグすると、そうではありません。私は何が間違っているのですか?参考までに、ここで私がVisual Studioで複製しようとしているものを示します: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

4 に答える 4

1

I'm not sure what you're trying to do, looks like you're mixing an IIFE (immediately-invoked-function-expression) and a regular function declaration.

If you just paste your own code into JSFiddle you can see the errors: http://jsfiddle.net/f6sH6/

Here is the error I get: Uncaught ReferenceError: rr is not defined

Looks like you tried to over complicate the issue. This works fine:

$(function () {
    $(".colorMe td").each(function() {
        var val = parseInt(this.innerHTML, 10);
        if (val < 3000) {
            this.style.backgroundColor = "#F00000";
        }
    });
});
于 2012-10-23T19:24:53.787 に答える
0

別の例を次に示します。

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

jQuery のバージョンに問題が見つかりました。最新バージョンを試して、onLoad の代わりに onDomReady を使用してください。あなたの例ではうまくいきました。

よろしく

于 2012-10-23T19:35:51.873 に答える
0

jQuery の構文は少し異なります。

$(".colorMe td").each(
    var val = parseInt($(this).text(), 10);
    if (val < 3000) {
        $(this).css('background-color','#F00000');
    }
)
于 2012-10-23T19:25:01.400 に答える
0

私が見ることができる2つの問題。1) の関数宣言rrは括弧内にあるため、括弧の外では到達できません。2)each呼び出している関数が不適切な構文を使用しています。次のようになります。

$(".colorMe td").each(function() {
    // ... code
});
于 2012-10-23T19:26:25.250 に答える