用JavaScript执行顺序操纵DOM
我有以下代码和结果附在最后。我知道JQuery.ready和JQuery.Window加载事件是在创建DOM之后运行的,因此它可以操作DOM,而不是第一个更改John背景的函数 我的问题是:用JavaScript执行顺序操纵DOM,javascript,onready,Javascript,Onready,我有以下代码和结果附在最后。我知道JQuery.ready和JQuery.Window加载事件是在创建DOM之后运行的,因此它可以操作DOM,而不是第一个更改John背景的函数 我的问题是: John的背景没有变为黄色是因为JavaScript本质上是反向引用的,它无法在脚本运行时找到id为1的元素 如果我必须运行第一个函数来更改John的背景,那么这个函数应该在DIV标记之后使用吗 大宗报价 (功能(){ $('#name1').css('background-color','yellow'
(功能(){
$('#name1').css('background-color','yellow');
})();
$(函数(){
$('#name2').css('background-color','red');
});
$(窗口)。加载((函数(){
$('#name3').css('background-color','blue');
}));
约翰
玛丽
雅各布
詹姆斯
(功能(){
$('#name4').css('background-color','yellow');
})();
大宗报价
当通过Javascript(或Javascript库或框架)操作DOM时,必须在尝试操作DOM元素之前,使要操作的DOM元素存在
如果你没有,那么。。。没有什么可操作的。当通过Javascript(或Javascript库或框架)操作DOM时,必须在尝试操作DOM元素之前,将要操作的DOM元素带到存在状态
如果你没有,那么。。。没有什么可操作的。当通过Javascript(或Javascript库或框架)操作DOM时,必须在尝试操作DOM元素之前,将要操作的DOM元素带到存在状态
如果你没有,那么。。。没有什么可操作的。当通过Javascript(或Javascript库或框架)操作DOM时,必须在尝试操作DOM元素之前,将要操作的DOM元素带到存在状态
如果你没有,那么。。。那里根本没有什么可操作的。HTML由浏览器从上到下读取。因此:
<script>
这实际上是jQuery中$(document).ready(…)的快捷方式代码>认为这不是一个好的实践,因为它不是可读的。< /P>
$(function () {
$('#name2').css('background-color', 'red');
});
这一个执行窗口加载(这不完全相同)
$(窗口)。加载((函数(){
$('#name3').css('background-color','blue');
}));
约翰
玛丽
雅各布
詹姆斯
这也是立即执行的(IEFs):在这种情况下,它会起作用,但这不是一种最佳实践
(function () {
$('#name4').css('background-color', 'yellow');
})();
</script>
(函数(){
$('#name4').css('background-color','yellow');
})();
如果您想了解document.ready和window.load之间的更多区别,请查看
JavaScript是一种事件驱动语言,其优点是可以根据需要向事件添加任意多的侦听器,因此向加载的DOM内容添加事件侦听器几乎总是最好的方法。始终在最后加载脚本也是一种最佳实践,这样您就可以让用户先获得内容和样式,然后开始使用功能
我将如何编写您的代码:
<div id="name1">John</div>
<div id="name2">Mary</div>
<div id="name3">Jacob</div>
<div id="name4">James</div>
<script>
document.addEventListener("DOMContentLoaded", function(event) {
// DOM fully loaded and parsed
$('#name1').css('background-color', 'yellow');
$('#name2').css('background-color', 'red');
$('#name3').css('background-color', 'blue');
$('#name4').css('background-color', 'yellow');
});
</script>
约翰
玛丽
雅各布
詹姆斯
document.addEventListener(“DOMContentLoaded”),函数(事件){
//DOM已完全加载和解析
$('#name1').css('background-color','yellow');
$('#name2').css('background-color','red');
$('#name3').css('background-color','blue');
$('#name4').css('background-color','yellow');
});
虽然我不会使用jQuery来实现这个:p。我甚至不会使用JavaScript来实现这个,只要使用好的旧CSS;) HTML由浏览器从上到下读取。因此:
<script>
这实际上是jQuery中$(document).ready(…)的快捷方式代码>认为这不是一个好的实践,因为它不是可读的。< /P>
$(function () {
$('#name2').css('background-color', 'red');
});
这一个执行窗口加载(这不完全相同)
$(窗口)。加载((函数(){
$('#name3').css('background-color','blue');
}));
约翰
玛丽
雅各布
詹姆斯
这也是立即执行的(IEFs):在这种情况下,它会起作用,但这不是一种最佳实践
(function () {
$('#name4').css('background-color', 'yellow');
})();
</script>
(函数(){
$('#name4').css('background-color','yellow');
})();
如果您想了解document.ready和window.load之间的更多区别,请查看
JavaScript是一种事件驱动语言,其优点是可以根据需要向事件添加任意多的侦听器,因此向加载的DOM内容添加事件侦听器几乎总是最好的方法。始终在最后加载脚本也是一种最佳实践,这样您就可以让用户先获得内容和样式,然后开始使用功能
我将如何编写您的代码:
<div id="name1">John</div>
<div id="name2">Mary</div>
<div id="name3">Jacob</div>
<div id="name4">James</div>
<script>
document.addEventListener("DOMContentLoaded", function(event) {
// DOM fully loaded and parsed
$('#name1').css('background-color', 'yellow');
$('#name2').css('background-color', 'red');
$('#name3').css('background-color', 'blue');
$('#name4').css('background-color', 'yellow');
});
</script>
约翰
玛丽
雅各布
詹姆斯
document.addEventListener(“DOMContentLoaded”),函数(事件){
//DOM已完全加载和解析
$('#name1').css('background-color','yellow');
$('#name2').css('background-color','red');
$('#name3').css('background-color','blue');
$('#name4').css('background-color','yellow');
});
虽然我不会使用jQuery来实现这个:p。我甚至不会使用JavaScript来实现这个,只要使用好的旧CSS;) HTML由浏览器从上到下读取。因此:
<script>
这实际上是jQuery中$(document).ready(…)的快捷方式代码>认为这不是一个好的实践,因为它不是可读的。< /P>
$(function () {
$('#name2').css('background-color', 'red');
});
这一个执行窗口加载(这不完全相同)
$(窗口)。加载((函数(){
$('#name3').css('background-color','blue');
}));
约翰
玛丽
雅各布
詹姆斯