javascript错误:this.node为null或不是对象

时间:2010-10-27 19:07:26

标签: javascript asp.net visual-studio-2010 .net-3.5 runtime-error

我正在使用ASP.NET 3.5,c#,visual studio 2010.我制作了一个主文件和一个使用这个主文件的默认页面。我在主服务器中放置了一对asp:contentplaceholders,并在使用该主服务器的页面中放置了相应的代码。我也在内容页面中插入了这样的JavaScript(而不是主页):

<asp:Content ID="Content6" ContentPlaceHolderID="Mainpage" Runat="Server">

<script src="path1" type="text/javascript"></script>  
<script src="path2" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function () {
        var options = {
            //some java code
        };

        $(".mycssclass").effect(options);
    });
</script>
</asp:Content>

在运行网站时,我在visual studio中遇到以下运行时错误:

  

Microsoft JScript运行时错误:'this.node'为null或不是对象

它指向JavaScript中的一些函数,如

this.node.onload=function(){..............//I am not a java guy so do not know much about this  

我哪里错了?为什么站点编译正确但抛出此运行时错误?

我也尝试在<head>的主文件中插入这个java代码,但是同样的错误。这是紧急的,所以如果有经验的人能够确定准确地将代码放在何处可以快速解决我的问题。

3 个答案:

答案 0 :(得分:2)

您是否包含对jQuery库的引用?一个好的做法是让jQuery 包含在Master 中。

<head>
   <script type="text/javascript" 
        src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
   </script>
   <!-- the remainder of your .js references should follow-->
</head>

如果您打算在“页面加载”上运行该脚本,请确保正确设置:

$(document).ready(function() {
    // put all your jQuery goodness in here.
});

More info on jQuery document ready

答案 1 :(得分:0)

我不确定你使用那段代码到底是做什么的,但我不认为这是正确的语法。

您可能应该重新编写它,如下所示:

$(document).ready(
function () {
        var options = {
            //some java code
        };

        $(".mycssclass").effect(options);
});

将函数传递给jQuery选择器可能会产生一些困难。

答案 2 :(得分:0)

谢谢大家! javascript中的语法或我首次包含它的位置/页面都没有问题。我只是发现错误在其他地方。此javascript适用于<img&gt;标签。它会缩放图像<img&gt;标签。我正在使用<asp:ImageButton&gt;改为og <img&gt;。一旦我更换它,它就完美无缺。谢谢大家的时间和知识共享。