js 动态添加元素(div、li、img、span 等)及设置属性

亮术网 2020-01-01 本网原创

把一串 html 标签赋给一个 javascript 变量,除属性的值要用转义的双引号外,某些时候字符串还很长,显得有些复杂。如果用 js 动态添加元素,就不会有那么复杂的字符串出现,代码阅读性强一点,也容易理解。

网页是由 html 标签一层层组成的,js 也可以动态添加一层层的诸如 div、li、img 这样的标签。其实,不管是什么 html 标签,js 动态创建的方法都差不多,接着就先从动态添加 div 开始。

 

一、js 动态添加元素div

<div id="parent"></div>

function addElementDiv(obj) {
    var parent = document.getElementById(obj);

    //添加 div
    var div = document.createElement("div");

    //设置 div 属性,如 id
    div.setAttribute("id", "newDiv");

    div.innerHTML = "js 动态添加div";
    parent.appendChild(div);
  }

调用:addElementDiv("parent");

提示:javascript 脚本必须放在 div 元素的后面,否则会因取不到它导致代码执行错误,因为如果 javascript 脚本在先,会先加载 javascript 脚本后加载 div 元素。

 

 

二、js 动态添加li

<ul id="parentUl"><li>原li</li></ul>

function addElementLi(obj) {
    var ul = document.getElementById(obj);

    //添加 li
    var li = document.createElement("li");

    //设置 li 属性,如 id
    li.setAttribute("id", "newli");

    li.innerHTML = "js 动态添加li";
    ul.appendChild(li);
  }

调用:addElementLi("parentUl");

 

 

三、js 动态添加元素img

<ul id="parentUl"></ul>

function addElementImg(obj) {
    var ul = document.getElementById(obj);

    //添加 li
    var li = document.createElement("li");

    //添加 img
    var img = document.createElement("img");

    //设置 img 属性,如 id
    img.setAttribute("id", "newImg");

    //设置 img 图片地址
    img.src = "/images/prod.jpg";

    li.appendChild(img);
    ul.appendChild(li);
  }

调用:addElementImg("parentUl");

 

四、js 动态添加元素 span

<div id="parentDiv"></div>

<script type ="text/javascript" language ="javascript">
    function addElementSpan(obj) {
      var div = document.getElementById(obj);

      //添加 span
      var span = document.createElement("span");

      //设置 span 属性,如 id
      span.setAttribute("id", "spanNew");

      //设置 span 元素的文本
      span.innerHTML = "新添加的 Span 元素";

      div.appendChild(span);
    }
</script>

调用:addElementImg("parentUl");

除以上四个元素外,Html 还有很多元素,其它元素也一样的添加方法。