Javascript,获取元素,write方法

一:Javascript:弱类型脚本语言,是一种动态类型。实现部分动画效果和用户交互等

  -- html是骨架(页面结构)  css样式  js是行为 --

弱类型体现:

JS代码可以写在body,head中。

  如果需要写在body中,但有需要它最后执行 可以先加上window.onload=function(){ alert(1)}

<head>
    <script>
         window.onload = function(){
         alert(1)
        }
    </script>
</head>
<body>
    <script>
        alert(2);
        console.log("haha");
    </script>
</body>

效果 先弹出 2 ,在打印 haha 到控制台 最后弹出 1

     

  类似css的三种样式,行内,元素内,外链

1.行内

<body>
    <!--1.行内 单击时弹出窗口 显示 1-->
    <div onclick="alert(1)"></div>
</body>

效果

2.元素内

<body>
    <!--2.script标签内-->
    <script>
        alert(2);
        console.log("打印在控制台");>
    </script>
</body>

效果:先弹窗 2 ,点击确定在                                                                                                打印到控制台console 

  

3.外链

<body>
    <script src="new.js"></script>
</body>

  new.js

alert("我先")
console.log("haha")

效果 : 先出现弹窗                    再                            打印log haha

  

 定义变量

<body>
   <script>
        var a=1;        // number
        var b=1.1;      // number
        var c="haha";   // string
        var x=10,y=11;  //同时设置多个值
        alert(typeof(a));   // 弹出 a 的类型
        alert(x+y)         // 弹出 x+y的值
    </script>
</body>

可以先定义变量名 不给值 占位 ,需要用它的值再赋值

    </script>
        var d,f;
        d=1;
        f=2;
        alert(d*f);
    </script>

 二:获取元素

  1.获取独立的标签 document+标签=" 赋值的内容"

  document.title=

  document.body.innerHTML="将值赋给了整个body,body拥有的其他内容就没了"

  document.body.innerHTML+="消除方法 += 。新增加内容"

innerHTML能够解析标签:                 将内容加粗 斜体

  document.body.innerHTML+="<em><b>消除方法 += 。新增加内容</b></em>"

innerTEXT不能解析标签:                会将加粗斜体标签当作内容显示在浏览器上

document.body.innerHTML+="<em><b>消除方法 += 。新增加内容</b></em>"

<body>
    <script>
        document.title="改变标题"  // 只有title 这样写
        // document.body = "body网页上显示的内容"   // 报错,除title以外,body后面还得加上innerHTML
        // document.body.innerHTML = "body网页上显示的内容"   // 将值赋给了整个body,body拥有的其他内容就没了
        document.body.innerHTML += "body网页上显示的内容"   // 消除方法 += 。新增加内容
    </script>
</body>

   2.通过id获取元素 document.getElementById

    <style>
        * {
            margin: 0;
            padding: 0;
        }
        div{
            width: 100px;
            height: 100px;
            background: red;
        }
    </style>

</body>
    <div id="box1" title="h">我是div</div>        /*这儿的title是 鼠标移到div上会显示的内容是h*/
    <script>
        document.getElementById("box1").innerText="通过id获取元素在改变的"
    </script>
</body>

效果  改之前                              之后

     

3.通过标签名获取Tagname, 多个p标签 需要加下标

               document.getElementsByTagName("p")

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
    </style>
</head>
<body>
    <p>1</p>
    <p>2</p>
    <p>3</p>
    <p>4</p>
    <script>
        // 通过标签名获取 Tagname 多个p标签  需要加下标
        // document.getElementsByTagName("p");
        var oP=document.getElementsByTagName("p");
        // 查看有几个元素
        alert(oP.length);  // 弹出窗口显示4 代表有四个P
        // 通过下标该值 改第一个P
        oP[0].innerHTML+="第一个p";
    </script>
</body>
</html>

效果

4.通过classname

        // 通过classname
        var oClassname=document.getElementsByClassName("box2");
        alert(oClassname.length)
        oClassname.innerHTML[0]="dff";
    </script>

5.通过选择器 

<div class="box2">
<p class="p1">1</p>
<p class="p1">2</p>
<p class="p1">3</p>
<p>4</p>
</div>

<1>.// querySelector只选中一个元素

document.querySelector(".box2>.p1").innerHTML="<b>1</b>"  // 选择第一个p1

<2>.// querySelector选中多个元素 通过下标选择

oCls=document.querySelectorAll(".box2 .p1");
alert(oCls.length) // 3 p1
oCls[1].innerHTML="改了吗" // 改下标为1的值 第二个p1

三:write方法  有两种情况

    <div>
        测试write
    </div>
    <script>        
        // 1.在文档流关闭之前写入
        document.write("在文档流关闭之前写入")
    </script>

效果:write之前                                           之后 新增内容

                  

2.在文档流关闭之后写入

    <script>
        // 2.在文档流关闭之后写入
        window.onload=function () {
            document.write("在文档流关闭之后写入")
        }
    </script>

 效果  修改了整个html的内容,只剩下写入的内容了




原文地址:https://www.cnblogs.com/tangpg/p/8316385.html