document.getElementById 找不到 qUnit DOM 个元素
document.getElementById can't find qUnit DOM elements
我试图获取对由 qUnit 创建的 DOM 对象的引用,但没有成功。它适用于 "home made" DOM 元素。我做了一个test site来说明这个问题。访问站点时打开 Firebug 或其他日志记录 window。
这是网站的代码:
window.onload = function() {
var qunitTestrunnerToolbar_element = document.getElementById("qunit-testrunner-toolbar");
console.log("qunitTestrunnerToolbar_element: ", qunitTestrunnerToolbar_element);
var test_element = document.getElementById("test_element");
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>
这样不行
我不是在谈论 qunit
但 document.getElementById("qunit-testrunner-toolbar");
将 return 为空,因为此 html.
中不存在任何元素
如果您特别询问如何获取实际 ID 而不是 null
您可以在这个html中添加您的原始脚本文件,然后var qunitTestrunnerToolbar_element = document.getElementById("qunit-testrunner-toolbar");
将console
它在 indexjs
或 如果你可以在你的测试中包含 <iframe>
html 你可以做
<iframe src="urlWithinYourDomain.html" style="display:none" id="iframeId"></iframe>
在 indexjs
var qunitTestrunnerToolbar_element = document.getElementById('iframeId').contentWindow.document.getElementById('qunit-testrunner-toolbar');
如果你喜欢 html 方式。
我试图获取对由 qUnit 创建的 DOM 对象的引用,但没有成功。它适用于 "home made" DOM 元素。我做了一个test site来说明这个问题。访问站点时打开 Firebug 或其他日志记录 window。
这是网站的代码:
window.onload = function() {
var qunitTestrunnerToolbar_element = document.getElementById("qunit-testrunner-toolbar");
console.log("qunitTestrunnerToolbar_element: ", qunitTestrunnerToolbar_element);
var test_element = document.getElementById("test_element");
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>
这样不行
我不是在谈论 qunit
但 document.getElementById("qunit-testrunner-toolbar");
将 return 为空,因为此 html.
如果您特别询问如何获取实际 ID 而不是 null
您可以在这个html中添加您的原始脚本文件,然后var qunitTestrunnerToolbar_element = document.getElementById("qunit-testrunner-toolbar");
将console
它在 indexjs
或 如果你可以在你的测试中包含 <iframe>
html 你可以做
<iframe src="urlWithinYourDomain.html" style="display:none" id="iframeId"></iframe>
在 indexjs
var qunitTestrunnerToolbar_element = document.getElementById('iframeId').contentWindow.document.getElementById('qunit-testrunner-toolbar');
如果你喜欢 html 方式。