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