2011-01-30 21 views
0

目前,我正在學習一些基本的jQuery。 但是當我嘗試用jQuery創建一個小東西時,它不起作用。jQuery無效

首先,我認爲這是我的標準瀏覽器Chrome不支持。 當我試圖在IE和Firefox中渲染它時,結果保持不變。

我該怎麼做?

這裏u能找到的代碼(PS我有一個母版頁的工作,但我不認爲這有任何影響)

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"> 
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#orderedlist").addClass("tof"); 
     $("#orderedlist > li").addClass("groen"); 
     $("#orderedlist li:last").hover(
     function() { 
      $(this).addClass("rood"); 
     }, 
     function() { 
      $(this).removeClass("rood"); 
}); 
    }); 

</script> </asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
<ol id="orderedlist"> 
    <li>Werken met <a href="http://www.jquery.com">JQuery</a></li> 
    <li>Gebruik van selectors en events</li> 
    <li>Ajax-functionaliteit</li> 
</ol> 

這是CSS(風格派。 css)代碼:

.tof 
{ 
    font-family:Verdana; 
    font-weight:bold; 
    font-size:14pt;  
} 
.groen 
{ 
    color:Green; 
} 

.rood 
{ 
    color:Red; 
} 
+1

這適用於Chrome 9中的我(例如:http://jsfiddle.net/zvv​​Ux/) – mVChr 2011-01-30 15:42:52

+0

請解釋您'不工作'的含義。什麼明顯做或不行?你有沒有試過用FireBug來檢查JavaScript錯誤?可以像失蹤一樣簡單;''或jquery.js的錯誤路徑。 – GolezTrol 2011-01-30 15:45:04

+0

您是否檢查過瀏覽器的錯誤控制檯是否有任何錯誤?由於該代碼似乎適用於mVChr,爲什麼不檢查您提供的jquery路徑以確保該文件確實存在。或者,您可以使用CDN作爲初學者。 WorldIsRound 2011-01-30 15:56:33

回答

0

看一看here

看起來你的代碼是按照預期工作的。所以請嘗試升級到jQuery 1.4.4。唯一的區別是它不使用標籤。

我認爲你的問題是你從asp生成的HTML和你的aspx文件不一樣。

爲了安全起見,您可以使用選擇器$("[id$=orderedlist]"),即使.NET預先將您的ID與垃圾混在一起,它也能正常工作。

0

母版頁確實有差異,很可能是您的問題的原因。母版頁將使用與您指定的ID不同的ID來呈現您的html標記。 因此,例如,這將使類似:

<ol id="Content2_Control1_orderedlist"> 
    <li>Werken met <a href="http://www.jquery.com">JQuery</a></li> 
    <li>Gebruik van selectors en events</li> 
    <li>Ajax-functionaliteit</li> 
</ol> 

等於是使用ID的jQuery選擇將無法正常工作。

2

我在代碼中看不到明顯的錯誤。

我認爲這可能是與任何其他圖書館(如MooTools或Prototype)的美元符號衝突。

嘗試使用這樣一個匿名函數包裝你的腳本:

(function($){ 
    $(document).ready(function() { 
    $("#orderedlist").addClass("tof"); 
    $("#orderedlist > li").addClass("groen"); 
    $("#orderedlist li:last").hover(
    function() { 
     $(this).addClass("rood"); 
    }, 
    function() { 
     $(this).removeClass("rood"); 
    }); 
    }); 
})(jQuery.noConflict()); 

如果有導致美元符號衝突本應該做的伎倆另一個庫。