JQuery не имеет ссылки - PullRequest
0 голосов
/ 24 мая 2011

У меня есть ссылка.Мне нужно написать функцию щелчка для элемента по щелчку.поэтому я написал такой код.

<div class="tabCon">
  <ul>
    <li><a href="javascript:void(0);" id="Overview">Overview</a></li>
    <li><a href="javascript:void(0);" id="ProjDet">Project Details</a></li>
    <li><a href="javascript:void(0);" id="Directions">Directions</a></li>                                         
  </ul>
<div>

Я написал файл js, в котором я написал так много функций.

$('.tabCon > ul > li > a').click(function() { 
   alert('Link Clicked !');
});

Но это не будет работать когда я объявляю ссылку на этот файл JavaScript в разделе head .

Этот работает , когда я объявляю под элементом или перед закрытием body tag

почему это происходит?есть другие способы?

Ответы [ 5 ]

1 голос
/ 24 мая 2011

Потому что, если вы добавите его в голову, элемент еще не был создан в DOM, поэтому вы не сможете получить к нему доступ как к объекту через JavaScript!

$(document).ready(function () {
  $('.tabCon > ul > li > a').click(function() { 
   alert('Link Clicked !');
  });
});

Попробуйте выше!

1 голос
/ 24 мая 2011

Убедитесь, что вы выполняете свой код jQuery внутри обработчика document.ready, если вы помещаете его в раздел head, иначе DOM может еще не быть загружен и готов к работе, когда вы пытаетесь присоединить обработчик щелчка к некоторому элементу:

$(function() {
    $('.tabCon > ul > li > a').click(function() { 
       alert('Link Clicked !');
    });
});
0 голосов
/ 24 мая 2011

Вы поставили эту функцию $ ("..."). Click (...); в блоке $ (function () {...}, поэтому он активен при загрузке страницы. Если нет, это нормально, что это не сработает. ..} блок, и он будет работать.

Pad.

0 голосов
/ 24 мая 2011

Убедитесь, что внутри события document.ready есть вызов jQuery.

По сути, если вы пишете jQuery в блоке HEAD, оберните все это в

$(function() {

//jquery code goes here

});
0 голосов
/ 24 мая 2011

Элемент не существует в DOM, когда анализатор находится в заголовке, но к тому времени, когда он (анализатор javascript) достигает закрывающего тега body, он делает это.Вот почему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...