Наиболее распространенная причина в том, что вы пытаетесь выполнить Javascript до DOM загружается и, таким образом, прежде чем все элементы HTML будут доступны в дереве DOM, что в свою очередь может вызвать такие простые вызовы, как document.getElementById(id)
, а $(selector)
jQuery может возвращать неопределенные элементы. То, что он иногда работает, - это чистое совпадение и вопрос времени.
Вы должны гарантировать, что любой код Javascript/JQuery, который, как предполагается, будет выполняться во время загрузки страницы и зависит от наличия элементов в дереве DOM, а также на самом деле получить выполнен после будет загружен DOM. В простом ванильным JS вы можете сделать так:
window.onload = function() {
document.getElementById(someId);
}
и в JQuery:
$(document).ready(function() {
$(someSelector);
});
Можете ли вы предоставить небольшой контекст, например пример кода и примеры ошибок ... Никто не сможет помочь иначе. – Kinlan
Какие ошибки вы получаете и где? – animuson
* много * больше информации необходимо! Подобно; Какую страницу пытается сделать? Какой js запущен? Каковы ошибки? Какую версию firebug/jquery/firefox вы используете? – Mathew