javascript“document.getElementById undefined”

时间:2011-07-04 02:19:15

标签: javascript undefined

我不知道但是我可能会遗漏一些东西,我已经尝试了一些东西,但他们都得到了相同的结果,我即将开始拉我的头发

<script type="text/javascript">
function set_size() {
// Get users Screen Res
var screen_height = screen.height;
var attribute = "height";
var element = "pdfFile";

// Take say 200px off the res to accumulate the browser screen useage
var object_height = screen_height - 200;

// Write to the height attribute
document.getElementById[element].getAttribute[attribute].value = object_height;
document.getElementById['jsoutput'].innerhtml = object_height;
}
</script>

<div class="Contact_list">
<a name="contacts"><object id="pdfFile" data="files/contacts/pdf/contacts.pdf" type="application/pdf" width="100%" height="600" style="border: 1px solid;"></object></a>
<span id="jsoutput"></span>
</div>

<script type="text/javascript">
set_size();
</script>
  

[12:13:28.050] document.getElementById [element]未定义@ http://localhost/ * * / index.php?page = contacts#contacts:57

4 个答案:

答案 0 :(得分:4)

这两个都不应该是这样的:

// Write to the height attribute
document.getElementById[element].getAttribute[attribute].value = object_height;
document.getElementById['jsoutput'].innerhtml = object_height;

但应该是这样的:

// Write to the height attribute
document.getElementById(element).style.height = object_height;
document.getElementById('jsoutput').style.height = object_height;

getElementById和getAttribute是参数在括号中而不是在括号中的函数。

通过设置style.height来设置高度,而不是在属性上设置.value。 您通常不会在<span>标记所在的内联元素上设置高度。您可以在块元素或内联块元素上设置高度。因此,您尝试在jsoutput对象上设置高度可能不会达到您想要的效果。

此外,innerHTML属性必须大写为innerHTML,而不是innerhtml,尽管你没有正确使用该属性,所以我用style.height替换它。

答案 1 :(得分:2)

getElementById是一个函数,而不是一个数组 - 使用()而不是ID周围的[]来调用它

答案 2 :(得分:0)

getElementById(element)not document.getElementById [element]`..请验证......

答案 3 :(得分:0)

你必须使用像(和)这样的括号,因为getElementById是一个函数,而不是一个对象。

document.getElementById(element)