第七章 动态创建HTML内容

javascript也可以改变网页的结构和内容

  • document.write()方法

可以方便快捷地把字符串插入到文档里

document.write("<strong>hello world.</strong>");

/*
function insertP(text){
    var str = "<p>";
    str += text;
    str +="</p>";
    document.write(str);
}
insertP("hello world!");

*/
  • innerHTML属性

该属性可以用来读、写某给定元素里的HTML内容。

<div id="test">
    
</div>
<script type="text/javascript">
    window.onload = function(){
        var testdiv = document.getElementById("test");
        testdiv.innerHTML ="<p>这是一句话</p>"
    }
</script>
  • createElement()方法

创建一个元素节点。这个方法本身并无实际用处,需要把新创建出来的元素插入文档才能达到实际目的。

document.creatElement(node.name)

 

  • appendChild()方法

让新创建的节点成为文档某个现有节点的一个子节点。

parent.appendChild(child)

var test = document.getElementById("test");
var para = document.createElement("p");
test.appendChild(para);            
//document.getElementById("test").appendChild(document.createElement("p"));

 

  • creatTextNode()方法

创建一个文本节点。语法:document.creatTextNode(text)

var test = document.getElementById("test");
var txt = document.createTextNode("hello world");
test.appendChild(text);
  • insertBefore()方法

这个方法将把一个新 元素插入到一个现有元素的前面。想调用此方法,必须知道三件事:

-想插入的新元素

-想把新元素插入到哪个现有元素的前面

-这两个元素共同的父元素

parentElement.insertBefore(newElement,targetElent)

 比如,把description插入到图片列表imagegallery的前面。

var gallery = document.getElementById("imagegallery");
      gallery.parentNode.insertBefor(description,gallery);

 

  • 编写insertAfter()函数
/* 编写insertAfter函数 */
function insertAfter(newElement,targetElement){
    var parent = targetElement.parentNode;
    if (parent.lastChild == targetElement){
        parent.appendChild(newElement);
    }else{
        parent.insertBefor(newElement,targetElement.nextSibling);
    }
}

 

 

posted @ 2016-04-30 01:20  Faxine  阅读(194)  评论(0编辑  收藏  举报