为什么这段代码可以在我的测试服务器上运行,但不能在jsfiddle上运行?

时间:2015-02-13 17:17:43

标签: javascript testing jsfiddle

http://jsfiddle.net/KeithDickens/t2t9pvz4/19/

正如它所写,它在我的Intranet测试服务器上工作正常,但JSFiddle它什么都不做。我错过了JSFiddle的细微差别吗?

HTML

<input type="button" value="Add More" onclick="nextLine();">
<div id="test1">
    Test1:<input type="text">
    Test2:<input type="text">
    Test3:<input type="text">
</div>

<br />
<br />
<div style="display:none" id="test2" name="test2">
    Test1:<input type="text">
    Test2:<input type="text">
    Test3:<input type="text">
    <input type="button" value="Remove">
</div>
<br />
<br />
<div style="display:none;" id="test3" name="test3">
    Test1:<input type="text">
    Test2:<input type="text">
    Test3:<input type="text">
    <input type="button" value="Remove">
</div>

的JavaScript

    var xy = 2;
    var divid = "";

function nextLine() {
    divid = "test" + xy;
    document.getElementById(divid).style.display = 'block';
    xy++;
    }

1 个答案:

答案 0 :(得分:1)

因为jsFiddle在JS周围添加window.onload = function() {},导致onClick属性中的函数不再处于全局范围内。

如果您查看左上角,则默认情况下执行此操作。要使其发挥作用,您必须选择无包装 - <body> http://jsfiddle.net/t2t9pvz4/23/