Ошибка JavaScript: this.node является нулевым или не является объектом - PullRequest
0 голосов
/ 27 октября 2010

Я работаю над 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' является нулем или не является объектом

и он указывает на некоторую функцию внутри JavaScript, такую ​​как

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

Куда я иду не так? Почему сайт компилируется правильно, но выдает эту ошибку во время выполнения?

Я также попытался вставить этот код Java в мастер-файл в <head>, но та же ошибка. Это срочно, пожалуйста, поэтому, если кто-то опытный может точно определить, куда именно поместить код, который быстро решит мою проблему.

Ответы [ 3 ]

2 голосов
/ 27 октября 2010

Вы включили ссылку на библиотеку jQuery? Хорошей практикой будет включение jQuery в Мастер .

<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.
});

Дополнительная информация о готовом документе jQuery .

0 голосов
/ 28 октября 2010

Спасибо всем! не было проблем ни с синтаксисом в javascript, ни с расположением / страницей, где он был впервые включен мной Я просто понял, что ошибка была где-то еще. Этот javascript работает с тегом <img>. Увеличивает изображение в теге <img>. Я использовал <asp:ImageButton> вместо og <img>. Он отлично работает, как только я заменил его. Спасибо всем за ваше время и обмен знаниями.

0 голосов
/ 27 октября 2010

Я не совсем уверен, что именно вы делаете с этим фрагментом кода, но я не думаю, что это правильный синтаксис.

Возможно, вам следует переписать его, чтобы он выглядел следующим образом:

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

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

Просто передача функции в селектор jQuery, вероятно, приведет к некоторому выигрышу.

...