我有以下代码
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<div class="full-details-box" name="full_details_box" id="full-details-box"></div>
<hr />
<script type='text/javascript'>
function show_3136(){
document.full_details_box.style.display='block';
}
show_3136();
</script>
</body>
</html>
我收到错误:window.document.full_details_box未定义
我收到该行的错误:
document.full_details_box.style.display='block';
但我确实有一个名为<div>
的{{1}}元素,为什么会出错呢?
答案 0 :(得分:0)
不要将name
属性用于div。它甚至不存在。使用id,和:
document.getElementById('full-details-box')...
答案 1 :(得分:0)
function show_3136(){
document.getElementById('full_details_box').style.display='block';
}
答案 2 :(得分:0)
要访问此元素,请使用getElementById
function show_3136() {
document.getElementById("full-details-box").style.display = "block";
}
答案 3 :(得分:0)
你可以做一个
document.getElementById("full-details-box").style.display='block';
答案 4 :(得分:0)
只是为了增加您的困惑 - 您可能一直在考虑表单字段 所有这些都可以在表单字段上工作(只有在表单标记中包装字段时才是第一个)
<html>
<head>
<script type='text/javascript'>
function showFormField(){
document.forms[0].full_details_boxName.style.display='block';
// or document.forms[0].elements["full_details_boxName"].style.display='block';
}
function showNamedField(){
document.getElementsByName("full_details_boxName")[0].style.display='block';
}
function showFieldById(){
document.getElementsById("full_details_boxID").style.display='block';
}
function showFieldByClassName(){ // does not work in all IE browsers
document.getElementsByClassName("full_details_boxCLASS")[0].style.display='block';
}
</script>
</head>
<body>
<form>
<input class="full-details-boxCLASS" name="full_details_boxName" id="full-details-boxID"/>
</form>
</body>
</html>
对于DIV,您将使用ID或CLASS,但不使用名称
答案 5 :(得分:0)
HTML:
<div id="full-details-box">
Just some test content
</div>
<hr />
CSS:
div#full-details-box {
display:none;
}
JS:
function show_3136(){
document.getElementById("full-details-box").style.display = "block";
}
show_3136();
对于一个工作示例,see jsFiddle