2014-07-08 24 views
1

我有我的main.master文件中引用這個腳本的容器內工作哪裏會有問題。我的代碼工作的jsfiddle裏面就好了:Jquery的不是.NET項目

<script type="text/javascript"> 
    $(".package-container").click(function() { 
     $(this).closest('.radio-group-row').find('.package-title').removeClass('highlight'); 
     $(this).find('input:radio').prop('checked', true); 
     $(this).find('.package-title').addClass('highlight'); 
    }); 
</script> 

編輯

我jQuery是附近的結束標記上面我的母版頁底部引用。

+2

內'$包裹你的代碼(函數(){//你的代碼});' –

+2

如果你的代碼是不是在你需要將它包裝在一個DOM準備好的事件中 –

+0

你可以提供一個將jquery包含在母版頁中的地方嗎? – Grundy

回答

2

確保您的jQuery包括及早放置在頁面(HEAD元素)上,要麼把你的代碼在body元素的結束或者把它包在DOM準備好處理程序是這樣的:

<script type="text/javascript"> 
    $(function(){ 
     $(".package-container").click(function() { 
      $(this).closest('.radio-group-row').find('.package-title').removeClass('highlight'); 
      $(this).find('input:radio').prop('checked', true); 
      $(this).find('.package-title').addClass('highlight'); 
     }); 
    }); 
</script> 

$(function(){YOUR CODE HERE});是一個快捷方式$(document).ready(function(){YOUR CODE HERE});

使用DOM就緒處理程序的優點是,您可以將jQuery代碼放置在任何位置(包括通過子視圖/控件進行注入)。

更新:

如果您還需要在本地範圍內的$變量,我建議使用這個相當不錯的快捷DOM準備好處理程序。它通過jQuery的實例作爲第一個參數爲您提供DOM ready函數:

jQuery(function($){ 
    // Your code placed here can use $ without any worry about other packages! 
}); 
+0

[jQuery .ready()文檔](http://api.jquery.com/ready/) –

+0

此外,'type =「text/javascript」'是'