Jquery在.net项目中没有工作

时间:2014-07-08 14:35:52

标签: javascript jquery asp.net .net

我在main.master文件中引用了这个脚本:

<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.0.min.js" type="text/javascript"></script>

在我的Web用户控件内部我有这个jquery但是它没有用,我真的不知道哪里会有问题。我的代码在jsfiddle中运行得很好:

<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在关闭正文标记上方的母版页底部附近被引用。

1 个答案:

答案 0 :(得分:2)

确保你的jQuery include被放置在页面的早期(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!
});