Javascript中insertBefore的语句

     说起来汗颜,用了很久JS,基础的DOM方法都不熟悉,哎,不说了,努力学习吧。

     今天晚上做了个关于insertBefore方法DEMO,功能很简单,页面上有几个P标签,一个下拉列表显示P的个数,然后一个按钮负责在制定P标签前插入一段文字。

DEMO编程思路是这样的,一共3个function:init()负责初始化和事件绑定,getPnum()负责动态获得P标签的个数并填充到下拉列表中,addP()是主要功能实现。 我的代码如下: Code
<script type="text/javascript">
window.onload
=init;
function init(){
    getPnum();
    document.getElementById(
"addP").onclick=function(){ addP()};
}

function getPnum(){
    
var Pnum=document.getElementsByTagName("p").length;
    
for(i=0;i<Pnum;i++)
    {
        document.getElementById(
"PNum").options[i]=new Option(i+1,i+1);
    }
}

function addP(){
    
var thePindex=document.getElementById("PNum").selectedIndex;
    
var allP=document.getElementsByTagName("p");
    
var insertOB=allP.item(thePindex);
    
var newP=document.createElement("p");
    
var newText=document.createTextNode("这是在:" + new Date()+"插入的文本元素!");
    newP.appendChild(newText);
    document.getElementById(
"modifiable").insertBefore(newP,insertOB);
}

</script>

      经过几次调试,终于实现了功能,也对insertBefor有了深入的了解。

insertBefor的用法:

      oElement = object . insertBefore ( oNewNode , oChildNode )

      在指定元素前插入元素或者文本,这需要在调用insertBefore的时候传2个参数,第一个参数oNewNode 是要插入的元素,第二个参数oChildNode 是坐标元素,比如有ABCD四个元素,需要将一段文本插入到B的前面,那么参数二就是B。需注意的是这个时候oElement 必须是坐标函数的父级元素

     oChildNode 是个可选参数,如果不填的话,为了保证该JS在火狐下的兼容性,应该传个null进去。

     关于insertBefor语句就写这么多了:)

转载于:https://www.cnblogs.com/sunjing/archive/2008/11/05/1327565.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部