1

我在学习 JavaScript 和 html 和 CSS 方面非常陌生,我正在尝试更改文档对象中所有段落的大小这是我的代码,但我没有得到任何更改,我注意到 documnet.getElementsByTagName('p')返回一个空对象

 <html>
  <head>
    <script> 
       window.onload=function(){
       var paragraphs = document.getElementsByTagName("p");
       for(var i = 0; i < paragraphs.length; i++){
        paragraphs[i].style.fontSize = '45px';      
       } 
       }
    </script>
  </head>
  <body> 
     <p>helooop</p>
     <p>helooop</p> 
     <p>helooop</p>
     <p>helooop</p> 
  </body>

我不知道哪里出错了。有人可以帮忙吗

4

4 回答 4

1
      window.onload = function () {    
      var paragraphs = document.getElementsByTagName("p");    
      for (var i = 0; i < paragraphs.length; i++) {    
      paragraphs[i].style.fontSize = '3em';    
       }
      }

既然你正在增加字体大小 onload(这对我来说没有意义),为什么不在你的 CSS 本身中尝试这个:

* {
    font - size: 3em!important;
    color: #000 !important;
   font-family: Arial !important;
   }
于 2013-11-04T07:51:25.980 回答
0

使用$(document).ready()wrap (或者这个解决方案来避免 jQuery $(document).ready 没有 jQuery 的等价物

您的代码工作正常,但脚本在 DOM 准备好之前触发并且任何 «p» 都在那里

UPD

$(document).ready(function(){
      var paragraphs = document.getElementsByTagName("p");
     for(var i = 0; i < paragraphs.length; i++){
       paragraphs[i].style.fontSize = '45px';      
      } 
};

更新2

看评论,对不起=)

于 2013-11-04T07:51:01.667 回答
0

代码工作正常

var paragraphs = document.getElementsByTagName("p");    
for (var i = 0; i < paragraphs.length; i++) {    paragraphs[i].style.fontSize = '45px';    
}

http://jsfiddle.net/4zvAP/

于 2013-11-04T07:51:40.727 回答
0

是的,代码正在运行,但似乎在 for() 命令的行中有一些隐藏字符会阻止正确解析。我将代码剪切并粘贴到 Chrome 并报告:

Uncaught SyntaxError: Unexpected token ILLEGAL 

我必须剥离 for() 命令前后的所有内容才能使其正常工作。

实际上,第 5 - 8 行在文本前面包含 0020 和 3000 个字符的混合。因此,Firefox 和 Chrome 都会报告 SyntaxError。

不知何故,你设法把这些字符放进去。你必须删除文本前面的那些字符,然后只放空格(或制表符)。您的代码将照此运行。

于 2013-11-04T08:07:19.533 回答