2017-03-17 146 views
0

我有一個網站有惱人的功能 - f.e它檢測到adblock並在視頻窗口上放大矩形說我應該禁用adblock。造成這種情況的代碼如下所示:Javascript can not getElementById

<div class="tvpoverlay_element" id="tvpoverlay_abdinfo" style="cursor: pointer;"> 
    <div style="top: 20%; left: 0px; width: 100%; height: auto; position: absolute; display: block; pointer-events: auto;"> 

所以,如果我在第二行插入display: none,矩形會消失,我會很開心。我想製作一個簡單的腳本來自動化這個過程。我試着命令:

document.getElementById('tvpoverlay_abdinfo').style.display = 'none'

.getElementById() returrns空。如果上述解決方案不起作用,我怎麼才能到達這個div並更改顯示屏?

+3

你確保元素,當你試圖訪問它已經存在? – JLRishe

+0

我對javascript很新,這是什麼意思? :D – FrynioS

+0

@FrynioS你能給我們一個小提琴嗎? – Sankar

回答

3

首先檢查,當你觸發該代碼行的元素存在(例如,如果應用程序是採用了棱角分明或反應或任何JS框架,這些元素不會在一開始存在)

也許是爲您寫好腳本來檢查元素是否存在,然後執行您的代碼(How to wait until an element exists?

該命令是正確的,所以只需在正確的時刻觸發它。

如果是一個iframe中,試試這個(Javascript - Get element from within an iFrame

+0

它是在iframe中,但它沒有id :( – FrynioS

+0

它是唯一的頁面中的iframe? – ayxos

+0

不,但它是第一個出現在代碼 – FrynioS