为什么这个Javascript可以在Firefox中工作,而不能在Internet Explorer中工作? 函数addField(计数,类型){ var bid=document.getElementById(“bid”).value; $(“#divField”)。追加(“”); } 功能移除字段(bid){ $(投标)。删除(); }

为什么这个Javascript可以在Firefox中工作,而不能在Internet Explorer中工作? 函数addField(计数,类型){ var bid=document.getElementById(“bid”).value; $(“#divField”)。追加(“”); } 功能移除字段(bid){ $(投标)。删除(); },javascript,internet-explorer,firefox,Javascript,Internet Explorer,Firefox,考虑一下这段Javascript代码,它在Firefox中运行良好,但在InternetExplorer中不起作用 函数addField()起作用,但removeField()不起作用 有没有关于为什么这不起作用的想法,或者有什么解决办法?试试这个 <img src="images/butAdd.png" onclick="addField(1,1);" /> <div id="divField"></div> <script type="

考虑一下这段Javascript代码,它在Firefox中运行良好,但在InternetExplorer中不起作用

函数
addField()
起作用,但
removeField()
不起作用

有没有关于为什么这不起作用的想法,或者有什么解决办法?

试试这个

  <img src="images/butAdd.png" onclick="addField(1,1);" />

  <div id="divField"></div>
  <script type="text/javascript">
    function addField(count, type) {
        var bid = document.getElementById("bid").value;
        $("#divField").append("<a href='#' onClick='javascript:removeField(\"#bow" + bid + "\"); return false;'><img src='images/closeSmall.png' /></a>");  
        }

    function removeField(bid) {
        $(bid).remove();
    }
 </script>
函数addField(计数,类型){
$(“#divField”)。追加(“”);
}
函数removeField(){
$(“#出价”).remove();
}

您的addfield可以如下所示:

function addField(count, type) {
                            $("#divField").append("<a href='#' onClick='javascript:removeField(); return false;'><img src='images/closeSmall.png' /></a>");      
                    }

                    function removeField() {
                            $("#bid").remove();
                    }
$(“”)。附加到(“#divField”)
。单击(函数(){
$(“#出价”).remove();
})
尝试更改:

$("<a href='#'><img src='images/closeSmall.png' /></a>").appendTo("#divField")
  .click(function() {
    $("#bid").remove();
  })


我认为IE执行.value vs firefox的方式有一个怪癖,onclick事件的代码前面不应该有“javascript:”。只有当您使用“href=”来放置JS代码时,才应该使用这样的字符串。

我认为这与名为“bid”的变量有关。只有在调用addField()时才为该变量赋值,并且该变量是该方法的本地变量

在removeField()中,“bid”的值未定义,这就是它不起作用的原因

尝试像这样更改removeField()

var bid = $("#bid").val();

功能似乎是,1。从#bid获取输入值,并构造一个锚,该锚调用传入选择器#bow+bidvalue的removeField函数。2.单击链接将删除元素#bow+bidvalue,其中bidvalue是#bid元素输入的值。我遗漏了什么吗?看看这里的代码,在调用addField()时没有ID为'bid'的元素,因此该函数将失败。无论你在做什么,你都会很难做到!去了解更多jQuery,它将帮助您简化代码。
var bid = $("#bid").val();
function removeField() {
    var bid = document.getElementById("bid").value;
    $(bid).remove();
}