2016-10-03 44 views
0

我需要一些邏輯,在我的Javascript中使事件被捕獲的節點的父節點消失。具體而言,父節點是一個PDF鏈接,並且如果孩子未能加載,它和它的子節點(bmp圖像)都需要不可見。下面是我列出我的事件監聽功能:通過Javascript無法看到DOM節點的樣式可見性

window.addEventListener('error', function(event) { 
    console.log(event); 
    if (event.target.id == "sheetBmp"){ 
     console.log("sheet bmp failed to load"); 
     //make the pdf disappear also 
     e.target.parentNode.style.visibility=false; 
     console.log("pdf nodeshould disappear"); 
    } 
}, true); 

,這裏是造型:

<a id=sheetPdf target='_blank'> 
     <img id="sheetBmp" onLoad="this.style.visibility='visible'" onError="this.style.visibility='hidden'"> 
     </img> 
    </a> 

注意,我跑它通過一個調試器,並運行性能遺體e.target.parentNode.style.visibility=false;行之後相同(空白引號)和節點的可見性在網頁上保持可見。任何幫助將不勝感激

回答

4

您正在設置一個無效的值(false)屬性,所以瀏覽器放棄它。

visibility property的可接受值包括"visible""hidden"

+0

謝謝,這比我預想的要簡單得多 – Rice

+1

這是正確的。另外,OP可能根本不需要「可見性」,因爲這會在佈局中留下元素,但不可見。 OP可能希望'display:none'。 – rockerest

+0

@rockerest非常感謝你引用這個屬性,我更喜歡這種方式,因爲現在元素在拋出錯誤後不留下空白的空白。感謝您的偉大建議! – Rice