Javascript三值用户错误?
所以我想做的是制作一个脚本来显示和隐藏YouTube视频的标题,而我的脚本所做的只是将其默认设置为不显示任何内容,我不希望它这样做,而且似乎onclick函数也不起作用。我真的不知道我做错了什么。。。一切似乎都应该起作用 以下是脚本:Javascript三值用户错误?,javascript,ternary,Javascript,Ternary,所以我想做的是制作一个脚本来显示和隐藏YouTube视频的标题,而我的脚本所做的只是将其默认设置为不显示任何内容,我不希望它这样做,而且似乎onclick函数也不起作用。我真的不知道我做错了什么。。。一切似乎都应该起作用 以下是脚本: function titleToggle() { eowTitle = document.getElementById('eow-title'); watch7Headline = document.getElementById('watch7-h
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();
您需要将“onclick”属性设置为函数。如果您真的想使用?:代码>,您最好这样做:
watch7Headline.onclick = function() {
eowTitle.style.display = (eowTitle.style.display == 'none') ? 'inline-block' : 'none';
};
似乎运算符优先级有问题。即检查=
与的优先级:
为什么分配'inline-block'
,然后检查它是否为='none'
?您的问题描述不是很清楚。期望的行为是什么?当他们单击watch7 headline元素时,它应该根据元素的当前显示隐藏或显示eow标题。非常感谢。这起作用了。我从未想过使用eowTitle.style.display=(然后是三元语句)来压缩它。。下次我会记住这一点。@Bren,事实上,您这样做也会在jshint中引起错误(您应该将三元运算符的结果赋给一个变量)