Javascript—操作HTML(1)

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js控制HTML</title>
</head>
<body>
       <p name="n1">1</p>
       <p name="n1">2</p>
       <p name="n1">3</p>
       <!--name可以相同,id不可以相同-->
       <script>
           function text1() {
               var num = document.getElementsByName("n1");
               alert(num.length);
               var n1 = num[1];
               n1.innerHTML = "帅的一批";
           }
            text1();
       //在js中可以直接调用,不一定非要某一事件触发,调用时后面方法的接收值(也就是后面括号和内容需要确定)
       </script>
<!--通过name获取:这里长度输出的是3,可以验证,在有同名情况下,调用其值,返回整个同名的数组-->
<!--通过元素获取:改成getElementsByTagName("p"),效果一样-->

      <P>
          <a id="n2"  title="天天向上" href="http://www.bilibili.com" name="n3">B站</a>
      </P>
      <script>
          function text2() {
              var n2 = document.getElementById("n2");
              alert(n2.getAttribute("name"));
              alert(n2.getAttribute("href")); 
              alert(n2.getAttribute("title"));
          }
          text2();
      </script>
 <!--getAttribute()方法获取属性,先通过获取元素后,再获取属性-->
       <!--重点,难点-->
<!--a标签中如果id属性和name属性同同时存在,只能通过id获取元素,并且能调用name属性,反之错误
单独通过那么属性,只能获取其元素,调用length等默认的属性,不能调用title等属性。
在这么多调用属性的输出方法时,不会发生覆盖,一个一个调用-->

       <P>
           <a id="n3"  title="落叶归根" name="n3">王力宏唱的</a>
       </P>
       <script>
           var n3 = document.getElementById("n3");
           n3.setAttribute("title","落叶归根太好听了");
           alert(n3.getAttribute("title"));
       </script>
<!--setAttribute动态设置元素属性,第一个参数是确定修改那个属性,第二个是修改的内容-->
       
       <script>
           function getChildNode() {
               var childNOde = document.getElementsByTagName("body");
               alert(childNOde.length);
           }
           getChildNode();
       </script>
 <!--获取子节点-->
</body>
</html>

效果:

猜你喜欢

转载自blog.csdn.net/qq_42036616/article/details/81805405