js追加元素问题

JavaScript07

js追加元素问题,第1张

<script type="text/javascript">

var n=0

function addfile(){

var where="beforeend"

var str=''//元素

var el=document.getElementById('div的id')

where = where.toLowerCase()

if(el.insertAdjacentHTML){

switch(where){

case "beforeend":

el.insertAdjacentHTML('BeforeEnd', str)

return el.lastChild

}

throw 'Illegal insertion point ->"' + where + '"'

}

var range = el.ownerDocument.createRange()

var frag

switch(where){

case "beforeend":

if(el.lastChild){

range.setStartAfter(el.lastChild)

frag = range.createContextualFragment(str)

el.appendChild(frag)

return el.lastChild

}else{

el.innerHTML = str

return el.lastChild

}

}

throw 'Illegal insertion point ->"' + where + '"'

}

</script>

我这个只是一部分,完整的可以再<div id="qwrdg"> </div>任意部分添加

可以自己定义一个正则表达式对象,用于校验,代码如下:

//定义regMgr对象,用于校验关键字

var regMgr = {

//设置关键字组合

set: function (arr) {

if (!arr)

this.reg = null

var _reg = ''

_reg=arr.join('|')

this.reg = new RegExp(_reg, 'gi')

},

//校验是否存在

exist: function (t) {

if (!this.reg)

return true

return this.reg.test(t)

}

}

//以下是调用方式:

var arrKeyWord = ['as', 'do', 'if', 'where']//定义关键字组合

regMgr.set(arrKeyWord)//设置关键字组合,只要这里设置好了以后,就可以多次调用exist,所以可以在加载时设置

var s = 'dsadaarsdossad'//定义被校验的文本

var r = regMgr.exist(s)//校验是否包含,该函数可在多处调用

alert(r)//返回true或false

var s1 = 'dsadaarsdossad'//定义被校验的文本

var r1 = regMgr.exist(s)//校验是否包含,无需再调用regMgr.set函数

alert(r1)//返回true或false

一些简单的功能,还是自己封装比较好,毕竟荣誉代码比较少,而且可控!

互相学习,kn