2012-10-23 73 views
0

無法在html頁面中加載jquery腳本。當我調試某些值變爲紅色但他們不會。我究竟做錯了什麼? FYI這裏就是我想在Visual Studio複製:像你混合http://jsfiddle.net/jfriend00/GAwrB/在HTML頁面加載jquery時出現問題

<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> 
+0

您已將問題中的代碼更新爲可用的版本。爲什麼?如果您從下面的答案中獲得建議,請接受它作爲答案。另外,除非現在顯示的內容實際上是您的原始代碼,否則請回到它或刪除此問題,因爲目前它沒有意義。 – Jasper

回答

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"; 
     } 
    }); 
}); 
+0

我沒有得到那個錯誤 – user1712552

+0

@ user1712552你在看你的JS控制檯嗎?因爲這是關於你的代碼的有效錯誤。 – Jasper

0

jQuery的語法稍有不同:

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

2個問題,我可以看到。 1)rr的函數聲明位於括號內,因此不能在這些函數之外訪問,2)您調用的each函數使用的語法不正確。它應該看起來像:

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

仍然不起作用 – user1712552

+0

發佈您作爲更新的新代碼,以便我們可以看到還有什麼可能是錯誤的。 –

0

下面是另一個例子:

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

我發現了jQuery版中的問題。你應該嘗試最新版本,並使用onDomReady而不是onLoad,它爲你的例子工作。

Regards

+0

您可以上傳您的整個代碼。 – user1712552