jQuery vs Javascript示例
我在读w3schools时发现了这个例子:jQuery vs Javascript示例,javascript,jquery,Javascript,Jquery,我在读w3schools时发现了这个例子: <body> <p>Hello World!</p> <p>The DOM is very useful!</p> <p>This example demonstrates the <b>length</b> property.</p> <script type="text/javascript"> x=document.getE
<body>
<p>Hello World!</p>
<p>The DOM is very useful!</p>
<p>This example demonstrates the <b>length</b> property.</p>
<script type="text/javascript">
x=document.getElementsByTagName("p");
document.write("------<br />");
for (i=0;i<x.length;i++)
{
document.write(x[i].innerHTML);
document.write("<br />");
}
document.write("------");
</script>
</body>
你好,世界
DOM非常有用
此示例演示了length属性
x=document.getElementsByTagName(“p”);
文件。写(“----
”);
对于(i=0;i调用document.write
在document.ready重写文档之后。然后单击document的返回值。getElementsByTagName
是一个实时列表列表变为空
因此,实际发生的是文档包含
<p>Hello World!</p>
<p>The DOM is very useful!</p>
<p>This example demonstrates the <b>length</b> property.</p>
调用文档。在document.ready重写文档后写入。然后单击文档的返回值。getElementsByTagName
是一个实时列表列表变为空
因此,实际发生的是文档包含
<p>Hello World!</p>
<p>The DOM is very useful!</p>
<p>This example demonstrates the <b>length</b> property.</p>
不要使用文档。加载DOM后编写,就像使用jQuery的$(文档)一样。准备好了。事实上,根本不要使用文档。使用jQuery编写。改为使用DOM操作。例如:
$(document).ready(function() {
var x = $('p'),
toAdd = '';
x.each(function() {
toAdd += this.innerHTML;
});
$(document.body).append(toAdd);
});
见
基本上,学习jQuery的范例和模式,并使用它们。不要期望能够将jQuery语法随机放入Javascript代码中。此外,不要听W3C的话。不要使用文档。加载DOM后编写,就像jQuery的$(文档)一样.ready
。事实上,不要使用文档。使用jQuery编写
。改用DOM操作。例如:
$(document).ready(function() {
var x = $('p'),
toAdd = '';
x.each(function() {
toAdd += this.innerHTML;
});
$(document.body).append(toAdd);
});
见
基本上,学习jQuery的范例和模式,并使用它们。不要期望能够将jQuery语法随机地放入Javascript代码中。此外,不要听W3C的话。你应该阅读文档。从适当的中编写:
在未调用的情况下写入已加载的文档将自动执行文档。打开调用。完成写入后,建议调用document.close(),通知浏览器完成页面加载
在document.ready
事件上运行jQuery代码时,文档(结构)已加载。这意味着调用document.open
:
如果目标中存在文档,此方法将清除该文档(请参见上面的示例)
这意味着所有现有内容都将被删除。因此,您的代码无法访问p
元素,因为它们不再存在
为什么没有jQuery它可以工作?
在原始代码中,JavaScript在结构完成加载之前执行(因为它本身就是结构的一部分)。因此不会调用document.open
,也不会清除内容:
如果document.write()
调用直接嵌入到HTML代码中,则它不会调用document.open()
几乎没有理由使用文档。编写。如果要修改文档,请使用适当的DOM操作方法。您应该阅读文档。从适当的中编写:
在未调用的情况下写入已加载的文档将自动执行文档。打开调用。完成写入后,建议调用document.close(),通知浏览器完成页面加载
在document.ready
事件上运行jQuery代码时,文档(结构)已加载。这意味着调用document.open
:
如果目标中存在文档,此方法将清除该文档(请参见上面的示例)
这意味着所有现有内容都将被删除。因此,您的代码无法访问p
元素,因为它们不再存在
为什么没有jQuery它可以工作?
在原始代码中,JavaScript在结构完成加载之前执行(因为它本身就是结构的一部分)。因此不会调用document.open
,也不会清除内容:
如果document.write()
调用直接嵌入到HTML代码中,则它不会调用document.open()
几乎没有理由使用文档。编写。如果要修改文档,请使用适当的DOM操作方法。这是因为每次jQuery在文档中写入时,您都会生成一些新元素,因此$(document).ready()中的所有脚本都应该在另一次执行
也许解决方案是写入另一个元素,如“div”
$(文档).ready(函数(){
x=document.getElementsByTagName(“p”);
$('div.myDiv').html(“----
”);
对于(var i=0;i,这是因为每次jQuery在文档中写入时,您都会生成一些新元素,因此$(document).ready()中的所有脚本都应该在另一次执行
也许解决方案是写入另一个元素,如“div”
$(文档).ready(函数(){
x=document.getElementsByTagName(“p”);
$('div.myDiv').html(“----
”);
对于(var i=0;这是因为您使用W3Schools进行学习。W3Schools是一个糟糕的参考资料,充满了不完整的代码。谢谢您的参考资料……但为什么上面的代码不起作用呢?作为Raynos所说的后续内容,我将提供此链接,因为如果您继续从W3Schools学习,您最终会遇到它:使用文档。getElementsByTagName
与jQuery一起使用…非常棒。
这是因为您使用W3Schools进行学习。W3Schools是一个糟糕的参考资料,并且充满了不完整的代码。谢谢您的参考资料…但是为什么上面的代码不起作用呢?作为Raynos所说的后续内容,我将提供此链接,因为如果你继续学习W3MeStudio:使用<代码>文档。GETelEngsByTaGeNe/<代码> jQuery…精彩。
$(document).ready(function() {
var x = $('p'),
toAdd = '';
x.each(function() {
toAdd += this.innerHTML;
});
$(document.body).append(toAdd);
});
$(document).ready(function() {
x=document.getElementsByTagName("p");
$('div.myDiv').html("------<br/>");
for (var i=0; i<x.length; i++)
{
$('div.myDiv').html(x[i].innerHTML());
$('div.myDiv').html("<br />");
}
$('div.myDiv').html("------");
});