您好我有一个由JavaScript生成的HTML。我还有另一个单独的JavaScript,它假设隐藏并对该html执行其他操作。问题是html没有响应任何其他javascript的函数或方法。
我尝试在Javascipt中包含Javascript,但似乎无法正常工作
HTML
<head>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js"></script>
<script src = "js/java1.js"type="text/javascript"></script>
<script src = "js/java2.js"type="text/javascript"></script>
</head>
<body id = "example">
</body>
Javascript1
function creatething(){
var html ='';
html += '<div id = "button">Button <div id = "hide"> EXAMPLE </div> </div>'
return html;
}
function insertHTML(id, html) {
var el = document.getElementById(id);
if(!el) {
alert('Element with id ' + id + ' not found.');
}
el.innerHTML = html;
}
function run() {
var html = creatething();
insertHTML('example', html);
}
window.onload = run;
Javascript2
$(document).ready(function() {
$('#hide').hide();
});
答案 0 :(得分:3)
你遇到的问题是事件的顺序。
window.onload = run; <-- Creates button
$(document).ready(function() { <-- hides button
文档准备好在onload之前触发。您添加元素onload并将其隐藏。
这就像吃披萨之前一样。
答案 1 :(得分:0)
如果您可以选择将JavaScript添加到文件中,或者在选项卡加载之前将其注入(例如浏览器加载项),那么您可以使用
document.onreadystatechange = function () {
if(document.readyState === 'interactive') {
alert('interactive');
}
if(document.readyState === 'complete') {
alert('complete');
}
}
来自MDN,“返回”加载“在文档加载时”,交互式“一旦完成解析但仍然加载子资源,并且”完成“一旦加载。”