gpt4 book ai didi

firebug - JavaScript 函数在 Firebug 中给我 "not enough arguments"错误

转载 作者:行者123 更新时间:2023-11-30 18:23:57 25 4
gpt4 key购买 nike

我有一些递增数字的全局变量。

var i = 0;  
var num = (i-1)+2;
var i = num;

然后,我有一个函数可以检查数字并显示我的 HTML。

function showChild(){

if(num===1){
document.getElementById("childFirst00").style.display = "block";
document.getElementById("childLast00").style.display = "block";
document.getElementById("deleteChild00").style.display = "block";
num++;
}else if(num===2){
document.getElementById("childFirst01").style.display = "block";
document.getElementById("childLast01").style.display = "block";
document.getElementById("deleteChild01").style.display = "block";
num++;
}else if(num===3){
document.getElementById("childFirst02").style.display = "block";
document.getElementById("childLast02").style.display = "block";
document.getElementById("deleteChild02").style.display = "block";
num++;
}else if(num===4){
alert("Please Contact The Rectory If You Need To Add More Children");
}
}

所有这些都正常工作。
但是,当我单击调用下一个函数的 deleteChild00 按钮时,我在 Firebug 中收到了错误消息:not enough arguments

function removeChild(){

if(num===2){
document.getElementById("childFirst00").style.display = "none";
document.getElementById("childLast00").style.display = "none";
document.getElementById("deleteChild00").style.display = "none";
num--;
}else if(num===3){
document.getElementById("childFirst01").style.display = "none";
document.getElementById("childLast01").style.display = "none";
document.getElementById("deleteChild01").style.display = "none";
num--;
}else if(num===4){
document.getElementById("childFirst02").style.display = "none";
document.getElementById("childLast02").style.display = "none";
document.getElementById("deleteChild02").style.display = "none";
num--;
}
}

这是调用 removeChild() 函数的输入 HTML。

<input type="button" id="deleteChildButton" value="Remove Child" onClick="removeChild()"/>

是什么导致我的 removeChild() 函数出现“参数不足”错误?

最佳答案

removeChild() 是一个 standard DOMnode moethod它需要一个参数并且应该从节点调用,如果您尝试按照您的方式使用它,不同的浏览器将响应不同的错误。 Firefox 返回“参数不足”异常,而 Chrome 返回“未捕获错误:NOT_FOUND_ERR:DOM 异常 8”。

将您的函数重命名为其他名称:

// Rename...
function removeChild(){
// to...
function someOtherRemoveChild(){

并改为在您的标记中调用它。

<input type="button" id="deleteChildButton" value="Remove Child" onClick="someOtherRemoveChild()"/>

或者,由于您在 window 范围内定义了 removeChild(),您应该能够通过 window.removeChild 调用它(),但我不能保证它会起作用,而且重新定义 DOM 方法很奇怪,所以我实际上不推荐这样做:

<input type="button" id="deleteChildButton" value="Remove Child" onClick="window.removeChild()"/>

关于firebug - JavaScript 函数在 Firebug 中给我 "not enough arguments"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11388486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com