2017-07-18 112 views
-2

我已經寫了下面的代碼來刪除左邊和右邊的所有孩子。但這不起作用。但是,如果我爲每個條件分別使用一個循環編寫這些條件,它將正常工作。如何在Javascript中的while循環中編寫多個條件?

while(theLeftSide.firstChild && theRightSide.firstChild) 
 
{ 
 
    theLeftSide.removeChild(theLeftSide.firstChild); 
 
    theRightSide.removeChild(theRightSide.firstChild); \t  
 
}

+2

由於環路只會只要雙方'theLeftSide'和'theRightSide'有'firstChild'運行。所以如果他們再也沒有孩子,那麼循環將盡快停止,而不管另一個人是否還有孩子。 –

+0

從什麼意義上說它不起作用?正如所寫的,只要兩個元素都有孩子,「while」條件就會導致循環繼續。只要一個元素爲空,循環結束。如果那不是你想要的,那麼你想要做什麼? – Pointy

回答

0

我不知道,這是否是你想要達到的目的。也許如果任何一方有更多的孩子比其他人,你的邏輯不起作用。嘗試使用||(OR)運算符而不是&&(AND)。而你處理刪除子函數內部

while(theLeftSide.firstChild || theRightSide.firstChild) { 
 
    theLeftSide.firstChild ? theLeftSide.removeChild(theLeftSide.firstChild) : null; 
 
    theRightSide.firstChild ? theRightSide.removeChild(theRightSide.firstChild) : null; 
 
}

+0

我嘗試使用||是的,左邊的孩子比右邊的孩子更多 –

+0

有什麼改進?如果你已經解決了它,你也可以添加你的答案 –

+0

是的。我分別做了兩個功能,它工作!謝謝 –