是否可以在jquery中使用一些CSS类而不是$ symbol?

时间:2013-06-17 14:06:10

标签: jquery asp.net-mvc

实际上我在我的项目中添加了一个View(ascx),并且我添加了一个jquery来显示Calendar,如下所示

<script type="text/javascript">
 $(document).ready(function () {
    var FromDate = $("#FromDate");
    var ToDate = $("#ToDate");
    ValidateDate(FromDate, ToDate, "yy-mm-dd");
});     
</script>

在我的项目中,我们使用$符号作为货币,因为我们创建了一个css类,现在当我运行我的应用程序时,它会发生冲突并发出错误Microsoft JScript runtime error: The value of the property '$' is null or undefined, not a Function object

它与ASPX View一起工作正常,但我不能使用aspx,因为我使用的是部分视图,需要ascx用于我的项目。

有人请帮我解决一下。

2 个答案:

答案 0 :(得分:2)

尝试使用jQuery代替$

通常在您的代码中,您可以使用$代替jQuery,调用noConflict()将删除$jQuery函数之间的关联。因此,您可以使用另一个JavaScript库,该库也会缩短到$而不会发生冲突。

  

许多JavaScript库只使用$作为函数或变量名   就像jQuery一样。在jQuery的情况下,$只是jQuery的别名,所以   无需使用$即可使用所有功能。如果我们需要使用   另外一个JavaScript库和jQuery一起,我们可以返回控件   $通过调用$ .noConflict()返回到其他库:

您可以调用noConflict()并创建一个全新的别名来使用,如:

var jQ = jQuery.noConflict();
jQ(document).ready(function () {
    var FromDate = jQ("#FromDate");
    var ToDate = jQ("#ToDate");
    ValidateDate(FromDate, ToDate, "yy-mm-dd");
});

jQuery - Avoiding Conflicts with Other Libraries

答案 1 :(得分:0)

如果您想使用$而不与之前的$函数冲突 你可以那样做

<script type="text/javascript">
   (function ($){
     $(document).ready(function () {
        var FromDate = $("#FromDate");
        var ToDate = $("#ToDate");
        ValidateDate(FromDate, ToDate, "yy-mm-dd");
     });
 })(jQuery);
</script>

添加的Wrapper函数将自动执行,将对jquery的引用保持为$ 在此之前没有与旧的$冲突