Я пытаюсь получить ссылку на объект DOM, созданный qUnit, без везения. Он отлично работает с «домашним» элементом DOM. Я проиллюстрировал проблему test site. Включите Firebug или другое окно регистрации при посещении сайта.document.getElementById не удается найти элементы qUnit DOM
Это код сайта:
window.onload = function() {
\t var qunitTestrunnerToolbar_element = document.getElementById("qunit-testrunner-toolbar");
\t console.log("qunitTestrunnerToolbar_element: ", qunitTestrunnerToolbar_element);
\t var test_element = document.getElementById("test_element");
\t console.log("test_element: ", test_element);
};
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Testing 'require' error</title>
</head>
<body>
<p>See console for output</p>
<script src="index.js"></script>
<script src="http://code.jquery.com/jquery-2.2.0.js"></script>
<p id="test_element">Test element</p>
</body>
</html>
Вы правы, что элемент DOM никогда не материализуется в примере с игрушкой, который я дал в моем вопросе. В своем стремлении изолировать проблему я также потерял ошибку:/ В моем реальном коде элемент DOM на самом деле * сделал * материализуется. Я просто понял, что должен иметь дело с вопросом времени. Если я буду использовать window.setTimeout, чтобы направить мой запрос на две секунды в будущее, я становлюсь счастливым владельцем ссылки на элемент DOM 'qunit-testrunner-toolbar' :) Теперь я задаюсь вопросом, как бы я сделал это в более прекрасный способ. Как узнать, когда элементы qUnit DOM готовы? Но это будет по другому вопросу. – loldrup