美文网首页
JavaScript03

JavaScript03

作者: 小心草丛 | 来源:发表于2019-08-27 22:38 被阅读0次

今日主要内容

  • DOM节点的增删改查与级联下拉列表实现
  • BOM与window对象
  • location对象
  • 两种定时器

1、DOM节点的增删改查与级联下拉列表实现

1>查询

  • 根据元素id查询,返回一个元素
    var obj = docuement.getElementById("id值");
  • 根据元素class类名查询,返回多个
    var objs = document.getElementsByClassName("类名");
  • 根据元素标签名查询,返回多个
    var objs = document.getElementsByTagName("标签ming");
  • 根据选择器来查询
    返回第一个:document.querySelector("选择器");
    返回所有:document.querySelectorAll("选择器");

2>创建DOM元素
document.createElement("元素名");

3>添加DOM元素(追加到元素末尾)
父元素.appendChild(子元素)

4>插入到某个DOM元素前面
父元素.insertBefore(插入元素,被插入元素)

5>删除元素
5.1>删除子元素:父元素.removeChild(子元素);
5.2>删除自己:元素.remove();

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <p id="p1">第一段落</p>
        <p class="bg">第二段落</p>
        <p class="bg">第三段落</p>
        <div></div>
        <script>
            //根据元素标签名来进行查询,返回多个元素
            var ps = document.getElementsByTagName("p");            
            console.log(ps);
            for(var i=0;i<ps.length;i++){
                var p = ps[i];
                p.style.fontSize = "50px";
            }
            
            //根据元素到的class类名来进行查询,返回多个元素
            ps = document.getElementsByClassName("bg");
            console.log(ps);
            for(var i=0;i<ps.length;i++){
                ps[i].style.backgroundColor = "yellow";
            }
            
            /*根据选择器来进行查询*/
            //根据选择器来进行查询,返回第一个元素
            var ps = document.querySelector("#p1");
            ps.style.textAlign = "center";
//          div.style.border = "1px solid black";
//          div.style.width = "100px";
//          div.style.height = "100px";

            //根据选择器来进行查询,返回查找到的所有元素
            ps = document.querySelectorAll(".bg");
            for(var i=0;i<ps.length;i++){
                ps[i].style.fontFamily = "楷体";
            }
        </script>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <ul>
            <li>北京</li>
            <li id="sh">上海</li>
            <li>广州</li>
            <li>深圳</li>
        </ul>
        <button onclick="doclick()">操作</button>     
        <script>
            function doclick(){
                //1、创建一个DOM元素
                var li = document.createElement("li");
                //给创建的li添加文本内容          
                li.innerText = "西安";
                
                //将创建li添加到父元素ul上
                var ul = document.querySelector("ul");
                //ul.appendChild(li);
                
                //插入元素,将创建的li添加到上海前面
                var sh = document.querySelector("#sh");
                //ul.insertBefore(li,sh);
                
                //替换元素,将创建的li替换掉上海
                //ul.replaceChild(li,sh);
                
                //删除子元素
                //ul.removeChild(sh);
                //删除自己
                sh.remove();
            }
        </script>
    </body>
</html>

6>级联下拉列表实现
onchange() 下拉项改变事件
selectedIndex 当前下拉项的下标

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body onload="load()">
        <!--改变下拉项时来触发的事件-->
        <select onchange="change()">
        </select>
        <script>
            //定义城市数组
            var cities = ["西安","咸阳","榆林","商洛","宝鸡"];
            //找到select
            var select = document.querySelector("select");
            function load(){
                for(var i=0;i<cities.length;i++){
                    var option = document.createElement("option");
                    option.innerText = cities[i];
                    select.appendChild(option);
                }
            }
            function change(){
                //获取下拉项的下标
                var index = select.selectedIndex;
                //获取选中的城市
                alert(cities[index]);
            }
        </script>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            select{
                width: 100px;
            }
        </style>
    </head>
    <body onload="load()">
        省份:<select id="province" onchange="change()">
             </select>
        城市:<select id="cities">
             </select>
        
        <script src="js/my.js"></script>
        <script>
            //定义省份数组
            var provinces = ["湖南","湖北","陕西","山东"];
            //定义城市数组
            var cities = [
                ["长沙","岳阳","株洲","湘潭","郴州"],
                ["武汉","黄冈","荆州","襄阳","十堰"],
                ["西安","咸阳","商洛","渭南","安康"],
                ["济南","青岛","德州","淄博","潍坊"]
            ];
            
            //获取省份下拉列表
            var proviceSel = $("province");
            //获取城市下拉列表
            var citySel = $("cities");
            
            //页面加载时,往省份下拉列表中添加省份数据
            function load(){
                for(var i=0;i<provinces.length;i++){
                    //创建省份下拉项                   
                    var option = $M("option");
                    //往下拉项中填入数据
                    option.innerText = provinces[i];
                    //再将下拉项添加到省份下拉列表中
                    proviceSel.appendChild(option);
                    
                    //页面加载,默认的城市
                    if(i==0){
                        var cityAry = cities[0];
                        for(var j=0;j<cityAry.length;j++){
                            var option = $M("option");
                            option.innerText = cityAry[j];
                            citySel.appendChild(option);
                        }
                    }
                }
            }
            
            //改变省份下拉项时,往城市下拉项添加相应数据
            function change(){
                //清空之前的城市
                citySel.innerHTML = "";             
                
                //获取省份选中下拉项的下标
                var index = proviceSel.selectedIndex;
                console.log(index);
                
                //通过省份下标获取当前省份对应的城市数组
                var cityAry = cities[index];
                
                //遍历城市数组,创建相应option,
                //添加到城市下拉列表中
                for(var i=0;i<cityAry.length;i++){
                    var option = $M("option");
                    option.innerText = cityAry[i];
                    citySel.appendChild(option);
                }
            }
        </script>
    </body>
</html>

相关文章

  • JavaScript03

    1.prompt 1)prompt中输入的值为字符串 var one1=prompt('请输入第一个数'); va...

  • javascript03

    1.判断用户输入事件 正常浏览器: oninput Ie678支持的:onpropertychange 2.数组...

  • JavaScript03

    今日主要内容 DOM节点的增删改查与级联下拉列表实现 BOM与window对象 location对象 两种定时器 ...

网友评论

      本文标题:JavaScript03

      本文链接:https://www.haomeiwen.com/subject/dpnyectx.html