未捕获的类型错误:文档.getElementById不是一个函数
Uncaught TypeError: document.getElementById is not a function
在我的随机化脚本中,我得到了错误:Uncaught TypeError: document。getElementById不是一个函数。我查看了堆栈溢出错误的其他一些问题,并试图修复它。我在函数之前声明了变量,因为变量每次都会改变,所以我将它设置为另一个变量。我不知道为什么这个代码是一个问题,任何帮助是赞赏的。HTML:
<div id="GetPlayers">
<input maxlength="1" id="input"> <button id="gp" onclick="gp()">Start!</button>
<br/>
<br/>
<button id="DJ" onclick="DJ();">Display Your Job!</button>
<br/>
<span id="DS">1) Input Amount Of Players. 2)Click 'Display Your Job!'</span>
</div>
Javscript
var al;
var rl;
var bd;
function gp(){
players = document.getElementById("input").value;
if(isNaN(players)){
alert(players.toUpperCase() + "'s Players? Please Fix");
return;
}
if(players === " "){
alert("Please Define How Many People Are Playing!");
return;
}
if(players === ""){
alert("Please Define How Many People Are Playing!");
return;
}
if(players < 4){
alert("Sorry, You Need Atleast 4 Players To Play!");
return;
}
SA(players)
}
function SA(players){
var positions = ["Murderer", "Judge", "Innocent", "Innocent"]; //Pre-set positions
if(players == 5){
positions.push("Co-Judge");
}else if(players == 6){
positions.push("Innocent", "Co-Judge");
}else if(players == 7){
positions.push("Murderer-2!", "Innocent", "Co-Judge");
}
Randomize(players, positions)
}
function shuffle(o){
for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
return o;
}
function Randomize(players, positions){
rl = shuffle(positions);
al = positions.length;
confirm("You Have: " + al + " Players, Correct?");
alert(al + ". " + rl);
}
var counter;
var rl;
var c;
var p;
function DJ(){
counter = 0;
var bd = 0;
for(var c = 0; c < al + 1; c++){
if(counter == 0){
p = c;
document.getElementById("DS").innerHTML=(rl[p]);
document.getElementById("DJ").innerHTML=("Click To Clear!");
counter = 1;
BlankDisplay()
}
}
}
function BlankDisplay(){
if(counter == 1){
document.getElementById=("Click The Button Above To See Your Job!");
}
}
在此函数中:
function BlankDisplay(){
if(counter == 1){
document.getElementById=("Click The Button Above To See Your Job!");
}
}
您正在将document.getElementById
重新定义为字符串。
所以,无论何时你再次调用document.getElementById
,在那之后,你试图执行一个字符串,因此你得到not a function
。所以我猜你想把它改成:
function BlankDisplay(){
if(counter == 1){
document.getElementById('someId').innerHTML = "Click The Button Above To See Your Job!";
}
}
你的问题是这一行:
document.getElementById=("Click The Button Above To See Your Job!");
它不像你在其他地方那样选择一个元素并设置文本,你将它设置为一个字符串。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 我可以在json对象中添加一个函数吗
- Javascript使函数一个接一个地执行
- 是JavaScript中的函数一个对象
- 两个几乎相等的jQuery函数;一个适用于IE,一个不适用于IE
- 两个Javascript函数一个window.onload=Custom.init;和一个window.onload=f
- 使javascript加载函数一个接一个地执行
- 如何通过两个嵌套的匿名函数(一个带有超时的事件处理程序)传递变量
- 为什么我不能让两个jQuery函数一个在另一个里面呢?
- 给函数一个变量名,而不是它的值
- 如何使用嵌入函数(一个滚动页由Pete - peachananr)
- 是否有可能给JavaScript函数一个类型/类?
- 确保两个函数一个接一个地执行,其中第一个函数内部有一个异步调用
- 两个不同的ajax函数一个接一个调用返回相同的值
- jQuery第一次更改函数一个工作
- 给这个函数一个id
- 如何给回调函数一个值一个变量在特定时刻
- 使用回调使两个函数一个接一个地运行
- 两个函数(一个用php)是否可以用“;onclick”;
- 两个几乎相同的函数.一个函数用Queue进行排队.Jquery效果在queued函数上不起作用.为什么