鄙人小白,不懂此處testDiv.appendChild(obj);testDiv.removedChild(obj);?
try{ ????testDiv.appendChild(obj); ????testDiv.removedChild(obj); ???}catch(e){ ???????return?false; ???????}
try{ ????testDiv.appendChild(obj); ????testDiv.removedChild(obj); ???}catch(e){ ???????return?false; ???????}
2016-06-10
舉報
2016-06-11
try{
????testDiv.appendChild(obj); //把要檢驗的obj作為子節點添加給testDiv節點
????testDiv.removedChild(obj);//把testDiv中為obj的子節點移除
???}catch(e){
???????return?false;//如果以上兩者運行中有錯誤則返回false?
???????}
比如你傳入的是變量a 但是變量a不是一個節點元素,所以就不能作為節點被添加到testDiv中或者被刪除,則會返回false,而如果a是被createElementNode(’a‘)之后,則這個a就是一個被創建的元素節點,可以被添加到任何一個元素節點作為子節點或者被刪除,而案例中多出這一步檢驗也是因為當你使用isElement這個方法檢驗obj是不是一個元素節點的時候容易出錯,也就是可以把一個聲明中有nodetype=1的json對象也當做成元素節點,很顯然這個方法不嚴謹也不符合檢測的目的,所以才要檢測真假:【如果obj本身就是元素節點,則就必然可以作為子節點被添加和被刪除,則返回判斷結果為真!
如果obj本身是有聲明過nodetype=1的json對象,即使obj在第一層if判斷中nodetype=1通過,則第二層檢測到他不能作為子節點被添加和被刪除,則obj必然不是元素節點,返回判斷結果為假!】