JavaScript错误未定义对象,尽管对象存在
我有以下代码JavaScript错误未定义对象,尽管对象存在,javascript,Javascript,我有以下代码 <!DOCTYPE HTML> <html> <head> </head> <body> <div class="full-details-box" name="full_details_box" id="full-details-box"></div> <hr /> <script type='text/ja
<!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>
但是我确实有一个名为
full\u details\u box
的/code>元素,那么为什么会出现错误呢 不要对div使用name
属性。它甚至不存在。使用id,然后:
document.getElementById('full-details-box')...
要访问此元素,请使用getElementById
function show_3136() {
document.getElementById("full-details-box").style.display = "block";
}
你可以做一个
document.getElementById("full-details-box").style.display='block';
只是为了增加您的困惑-您可能一直在考虑表单字段
所有这些都适用于表单字段(仅当您将字段包装为表单标记时,才使用第一个)
函数showFormField(){
document.forms[0]。完整的_详细信息_boxName.style.display='block';
//或document.forms[0]。元素[“full_details_boxName”]。style.display='block';
}
函数showNamedField(){
document.getElementsByName(“完整详细信息”boxName“)[0].style.display='block';
}
函数showFieldById(){
document.getElementsById(“full_details_boxID”).style.display='block';
}
函数showFieldByClassName(){//不适用于所有IE浏览器
document.getElementsByClassName(“full_details_boxCLASS”)[0].style.display='block';
}
对于DIV,您将使用ID或CLASS,而不是nameHTML:
<div id="full-details-box">
Just some test content
</div>
<hr />
JS:
例如
document.getElementById("full-details-box").style.display='block';
<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="full-details-box">
Just some test content
</div>
<hr />
div#full-details-box {
display:none;
}
function show_3136(){
document.getElementById("full-details-box").style.display = "block";
}
show_3136();