• 元素的创建以及只创建一个


    元素创建的三种方式

    为了提高用户的体验 

    1. document.write("标签的代码以及内容");

      页面加载的时候创建,是没有问题的:document.write("<p>这是一个p</p>");

      缺陷:如果在页面加载完毕后,通过这种方法创建,页面上存在的所有内容都没有了 

    my$("btn").onclick=function(){
    
        document.write("<p>这是一个p</p>");
    
      };

    2. 父级对象.innerHTML("标签的代码以及内容");

      my$("btn").onclick=function () {
        my$("dv").innerHTML="<p>窗前明月光,疑是地上霜,举头望明月,低头思故乡</p>";
      };

    3. document.createElement("标签的名字");

    第一步:document.createElement("标签的名字");

    第二步:追加:父级元素.appendChild(子级元素对象);

        插入:父级元素.inerstBefore(新的子级对象,参照的子级对象);

        移除:父级元素.removeChild(要干掉的子级元素对象);

    //点击按钮,在div中创建一个p
      my$("btn").onclick = function () {
        //创建元素的
        var pObj = document.createElement("p");
        setInnnerText(pObj, "这是一个p");
        //把创建后的子元素追加到父级元素中
        my$("dv").appendChild(pObj);
      };

     第3种方法会连续的创建元素,解决方法:有则删除,无则创建

    只创建一个元素, 代码如下:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style>
                div{
              width: 200px;
              height: 200px;
              border: 1px solid red;
            }
          </style>
        </head>
        <body>
            <input type="button" value="显示效果" id="btn" />
            <div id="dv"></div>
            <script src="common.js"></script>
            <script>
                //有则删除,无则创建
                
                //方法一:缺点:不停的在创建和删除
                // my$("btn").onclick = function() {
                //     if (my$("btn2")) {//如果存在就删除
                //         my$("dv").removeChild(my$("btn2"));
                //     }//进行创建
                //     var inObj = document.createElement("input");
                //     inObj.type = "button";
                //     inObj.value = "我是被创建的按钮";
                //     inObj.id = "btn2";
                //     my$("dv").appendChild(inObj);
                // };
                
                //方法二:只创建一次
                my$("btn").onclick=function(){
                    if(!my$("btn2")){//如果没有,则创建;如果有就不执行——只创建一次
                        var inObj = document.createElement("input");
                            inObj.type = "button";
                            inObj.value = "我是被创建的按钮";
                            inObj.id = "btn2";
                            my$("dv").appendChild(inObj);
                    }
                };
            </script>
        </body>
    </html>
  • 相关阅读:
    动态横向(水平)合并Repeater数据行DataItem的列
    动态绑数据(Repeater控件HeaderTemplate和ItemTemplate)
    动态横向(水平)合并GridView数据行DataRow的列
    动态绑数据(GridView控件Header和ItemTemplate)
    用具体列名替代星号
    如何实现数据行转换列显示
    用LINQ获取XML节点数据
    从字符串中获取XML节点数据
    字符串创建XML文档
    根据Attribute值条件对XML文档进行修改
  • 原文地址:https://www.cnblogs.com/zhangDY/p/11494779.html
Copyright © 2020-2023  润新知