2016-12-29 166 views
1

我試圖隱藏圖像的容器,當它不能fournd。到目前爲止,這workes其隱藏圖標中的 「未找到圖像」:元素隱藏,但父()不

document.addEventListener("DOMContentLoaded", function(event) { 
    document.querySelectorAll('img').forEach(function(img){ 
    img.onerror = function(){ 
     this.style.display='none'; 
    }; 
    }) 
}); 

但是,當我改變這一行:

this.display='none'; 

this.parent().display='none'; 

它不工作。 如何隱藏容器圖像?

+1

您是否嘗試將其更改爲'this.parentElement.style.display ='none''?順便說一句,'this.display ='none';'也行不通。它是'this.style.display ='none';'。乾杯! –

+0

您已標記jQuery,我不確定您是否使用它?你的示例代碼是vanilla JS,並且你已經有了答案...但是...如果你使用jQuery - 'this'不是jQuery對象,因此它沒有parent()方法 - 所以對於jQuery:$(這個).parent()。hide()應該做的工作.... – sinisake

+0

使用$(this).parent()。hide()如果你想通過jquery實現它,只要你引用了jquery庫,它是此代碼執行前可用。使用您提供的代碼,您應該使用this.parentElement.style.display ='none';這已經回答了。 –

回答

2

這不是jQuery,只是好的DOM。

this.parentElement.style.display = 'none';