DOM1 Javascript不工作
我可能是用了错误的方法,我首先学习了Jquery,而且很简单。学习javascript学习DOM0和DOM1的课程,却无法实现这一点DOM1 Javascript不工作,javascript,Javascript,我可能是用了错误的方法,我首先学习了Jquery,而且很简单。学习javascript学习DOM0和DOM1的课程,却无法实现这一点 <!DOCTYPE html> <html lang="en"> <head> <script type="text/javascript"> function addBorder(){ for var i=0; i<document.getElementsByTagName(
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript">
function addBorder(){
for var i=0; i<document.getElementsByTagName('img').length; i++) {
document.getElementsByTagName('img')[i].style.border="3px solid red");
}
}
</script>
<script type="text/javascript">
window.onload=addBorder;
</script>
</head>
<body>
<img src="image1.jpg" />
<img src="image2.jpg" />
</body>
</html>
函数addBorder(){
对于var i=0;i我在正确修复代码语法后立即看到图像上的红色边框:
function addBorder() {
for (var i=0; i < document.getElementsByTagName('img').length; i++) {
document.getElementsByTagName('img')[i].style.border = "3px solid red";
}
}
函数addBorder(){
对于(var i=0;i
只要我正确地修改了代码的语法,我就在图像上看到了红色边框:
function addBorder() {
for (var i=0; i < document.getElementsByTagName('img').length; i++) {
document.getElementsByTagName('img')[i].style.border = "3px solid red";
}
}
函数addBorder(){
对于(var i=0;i
正如Ryan指出的,您的源代码中有一个输入错误(在var
和i
之间需要一个空格)
尽管这是一个初学者类,但您可能希望从一开始就养成良好的习惯。通常,应该尽可能少地查看DOM。每次调用document.getElementsByTagName('img')时,您的函数都会转到DOM
。由于它在for循环中,这可能会很多。当然,在您的示例中只有两个img标记,但请考虑将此脚本应用到实际页面
通常最好触摸DOM一次,然后将结果缓存到变量中,如下所示:
function addBorder() {
var images = document.getElementsByTagName('img');
for (var i=0; i < images.length; i++) {
images[i].style.border = "3px solid red";
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript">
(function () {
var images = document.getElementsByTagName('img');
for (var i=0; i < images.length; i++) {
images[i].style.border = "3px solid red";
}
})();
</script>
</head>
<body>
<img src="image1.jpg" />
<img src="image2.jpg" />
</body>
</html>
正如Ryan指出的那样,您的源代码中有一个输入错误(在var
和i
之间需要一个空格)
尽管这是一个初学者类,但您可能希望从一开始就养成良好的习惯。通常,应该尽可能少地查看DOM。每次调用document.getElementsByTagName('img')时,您的函数都会转到DOM
。由于它在for循环中,这可能会很多。当然,在您的示例中只有两个img标记,但请考虑将此脚本应用到实际页面
通常最好触摸DOM一次,然后将结果缓存到变量中,如下所示:
function addBorder() {
var images = document.getElementsByTagName('img');
for (var i=0; i < images.length; i++) {
images[i].style.border = "3px solid red";
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript">
(function () {
var images = document.getElementsByTagName('img');
for (var i=0; i < images.length; i++) {
images[i].style.border = "3px solid red";
}
})();
</script>
</head>
<body>
<img src="image1.jpg" />
<img src="image2.jpg" />
</body>
</html>
你能被指定吗?我复制并粘贴了,但还是什么都没有。这里的页面:你能被指定吗?我复制并粘贴了,但还是什么都没有。这里的页面:谢谢,我修复了输入错误,但它不在实际的源代码中。仍然不工作。这里的新代码:完整,不工作。我不明白为什么。另外,你可以做的一些事情是很快地测试JavaScript的e开发者控制台(Firefox中的Firebug,Chrome中的开发工具)。您可以直接在控制台中键入JavaScript并立即对其进行评估,而无需实际编辑/保存/重新加载页面。谢谢,我修复了输入错误,但它不在实际源代码中。仍然不工作。这里的新代码:完成,不工作。我不明白为什么。此外,您可以快速测试JavaScript的一些操作也已打开开发者控制台(Firefox中的Firebug,Chrome中的Dev Tools)。您可以直接在控制台中键入JavaScript并立即对其进行评估,而无需实际编辑/保存/重新加载页面。感谢所有人,找到了它。感谢所有人,找到了它。