2014-01-05 21 views
-2

所以我想要做的是製作一個腳本,將顯示和隱藏YouTube視頻的標題,我所有的腳本似乎在做的是將其設置爲默認顯示沒有,我不希望它做到這一點,看起來好像onclick函數甚至沒有工作。我真的不知道我做錯了什麼......一切似乎都應該起作用。Javascript三元用戶錯誤?

這裏的腳本:

function titleToggle() { 
    eowTitle = document.getElementById('eow-title'); 
    watch7Headline = document.getElementById('watch7-headline'); 
    eowTitle.style.display = 'inline-block'; 
    (eowTitle.style.display == 'none') ? watch7Headline.onclick = eowTitle.style.display = 'inline-block' : watch7Headline.onclick = eowTitle.style.display = 'none'; 
} 
titleToggle(); 
+0

看來你有運算符優先級的問題。即檢查'='與'?的優先級:' –

+1

爲什麼分配'inline-block',然後檢查它是否爲'=='none''? – thefourtheye

+0

您的問題描述不是很清楚。期望的行爲是什麼? –

回答

1

您需要將 「點擊」 屬性設置爲功能。如果你真的想使用? :,你會更好的做到這一點:

watch7Headline.onclick = function() { 
    eowTitle.style.display = (eowTitle.style.display == 'none') ? 'inline-block' : 'none'; 
}; 
+0

非常感謝。這工作。我從來沒有想過要做eowTitle.style.display =(然後是三元語句)來濃縮它。下次我會記住這一點。 – Bren

+0

@Bren,實際上,你在做的事情也會引發jshint中的錯誤(你應該將三元運算符的結果賦值給一個變量) –