У меня возникли проблемы с тем, что jQuery не распознает элементы на моей странице и выдает ошибку, говоря, что элементы, которые я пытаюсь выбрать, являются нулевыми.Почему jQuery не распознает элементы на моей странице?
Мы вставляем наше содержание в следующую обертку, которая поставляется клиентом:
http://www.ft.com/global/mm0802/ag/wrapper
Обертка содержит следующую строку:
<!-- ftplchol id="contentFixed" version="1.0" -->
который мы заменить с наш контент, а затем отобразите страницу.
Это пример нашего содержания: (проблема у меня описана ниже него)
<script src="/Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$('.ActionControl a').live("click", function() {
$.get($(this).attr("href"), {}, function (result) {
// do stuff with result
});
}, "html");
return false;
});
});
</script>
<div class="ActionControl">
<span>Fund Directory</span>
<span>
<a href="/funddirectory/DirectoryResult">A</a>
</span>
<span>
<a href="/funddirectory/DirectoryResult/B">B</a>
</span>
<span>
<a href="/funddirectory/DirectoryResult/C">C</a>
</span>
</div>
Когда я запускаю мои вещи вне контекста обертки, все в порядке. Мой код ведет себя так, как ожидалось. Но когда я запускаю полную страницу с нашим содержанием вставленным в обертку, следующая строка выдает ошибку:
$('.ActionControl a').live("click", function() {
говоря, что $('.ActionControl a')
является недействительным. В частности: Microsoft JScript runtime error: 'null' is null or not an object
Это не имеет никакого смысла. $('.ActionControl a')
не может и не должен быть нулевым, поскольку к тому времени, когда документ будет готов, <div class="ActionControl">
определенно существует на странице и работает, когда я не использую оболочку. Я вижу это с помощью FireBug & панели инструментов IE Dev.
Даже если я пытаюсь получить что-то вроде $('a')
или $('div')
(из которых есть много на странице), он по-прежнему бросает ту же ошибку. Я знаю, что jQuery работает, хотя функция $(document).ready()
работает.
Есть ли у кого-нибудь идеи, почему это не сработает? Есть ли что-то в оболочке, которая мешает ему видеть мой контроль или любые другие элементы управления?
Можете ли вы немного усовершенствовать свою формулировку? – ChaosPandion