js添加节点时,如何做if判断

JavaScript020

js添加节点时,如何做if判断,第1张

1

2

3

4

5

6

7

function insertEle() {

var oTest = document.getElementById("box-one")

var newNode = document.createElement("div")

var reforeNode = document.getElementById("p1")

newNode.innerHTML = " This is a newcon "

oTest.insertBefore(newNode,reforeNode.nextSibling)//新建的元素节点插入id为P1节点元素的后面。

}

第二种

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

// 自定义函数向后插入

function insertAfter( newElement, targetElement)

{

var parent = targetElement.parentNode

if ( parent.lastChild == targetElement )

{

// 如果最后的节点是目标元素,则直接添加。因为默认是最后

parent.a( newElement )

}

else

{

//如果不是,则插入在目标元素的下一个兄弟节点的前面。也就是目标元素的后面

parent.insertBefore( newElement, targetElement.nextSibling )

}

}

自定义函数就是说自己写的函数,只有自己调用,或是自己共享给别人后别人才可以调用的。也可以理解为私有函数。

function a(){alert(1)}  //定义一个函数,名字是a。

函数调用,就是让函数执行。

a()  //函数名字后面加一对小括号就可以执行了, 页面中将弹出一个 1

1、JavaScript原生函数没有提供判断DOM节点是否存在方法,我们通常获取DOM节点几乎都是document.getElement..方法,会返回一个object数组合集,我们可以通过object[0],object[1]这样来访问这个合集的每一个对象。既然返回的是数组合集,那么就有length属性,而length大于等于1即表示DOM节点存在页面中

代码:

Object.prototype.exist = function(){

if(typeof this !='undefined' &&this.length>=1){

return true

}

return false

}

使用:

假设页面有如下节点

<div>这里是DIV节点</div>

<div>这里是DIV节点</div>

<span>这里是span节点</span>

判断节点是否在页面:

var is_exist = document.getElementsByTagName('div').exist()

alert(is_exist) // true

var is_exist = document.getElementsByTagName('span').exist()

alert(is_exist) // true

var is_exist = document.getElementsByTagName('p').exist()

alert(is_exist) // false

2、注意:如果使用是使用document.getElementById()方法获取对象的就不能使用exist()方法,因为根据ID取节点对象的方法在取不到节点的情况下会返回一个空对象,不会集成原型exist()函数,所以会报错!所以如果是根据ID取对象的可以直接if(obj)这样既可判断DOM节点是否存在页面中

jQuery判断DOM节点是否存在页面中

可以这么干

添加原型:

(function($) {

$.fn.exist = function(){

if($(this).length>=1){

return true

}

return false

}

})(jQuery)

3、使用方法:

假如页面有如下DOM节点

<div id="a">这里是id=a节点</div>

<div>这里是DIV节点</div>

<div>这里是DIV节点</div>

<span>这里是span节点</span>

判断:

alert($('#aaa').exist())// false

alert($('#a').exist())// true

alert($('div').exist())// true

alert($('p').exist())// false

以上两种方法其实都是根据对象集合的length属性判断对象是否存在。