我从我的控制台收到一条javascript错误:
未捕获的TypeError:无法读取属性' style'为null
有谁知道什么是错的?
代码(JS):
<script>
function select()
{
document.getElementById('#iframetest').style.display='block';
}
</script>
代码(HTML):
<iframe src="localhost/createaclass" id="iframetest"></iframe>
<div class="b" onclick="select()">
答案 0 :(得分:9)
不要将哈希放在id(#)中:
document.getElementById('iframetest')
根据您的评论,您可以这样做:
function select()
{
document.getElementById('iframetest').style.display = 'block' ? 'none' : 'block';
}
答案 1 :(得分:2)
将您的JS移到HTML下方。
<iframe src="localhost/createaclass" id="iframetest"></iframe>
<div class="b" onclick="select()">
<script>
function select()
{
document.getElementById('#iframetest').style.display='block';
}
</script>
答案 2 :(得分:0)
如果您使用的是jquery,请尝试此操作。它正在工作。
$('.b').click(function(){
$('#iframetest').hide();
});
<iframe src="localhost/createaclass" id="iframetest"></iframe>
<div class="b">selectDiv</div>
请参阅jsfiddle链接http://jsfiddle.net/17duuxcm/5/
答案 3 :(得分:0)
回答它可能为时已晚。但是你的选择器返回null,因为在这一行
document.getElementById('#iframetest').style.display='block';
您需要将其更改为:
document.getElementById('iframetest').style.display='block';
当您指定getElementById时,您的JS将直接转到id为&#39; iframetest&#39;的元素。不需要&#39;#&#39;