JavaScript 变量未定义,即使它是已定义的。为什么?

3
为什么我会收到这个错误(TypeError: $h未定义)?
    <div style="clear: both;">
        <input type="button" value="test1" onclick="test1();" />
    </div>
    <div id="box"></div>
    <div id="debug"></div>

        var $h; // also tried without "var"
        $h = $("<div/>").css("position:absolute;top:100px;width:1px;height:1px;background:red;");
        function test1() {
            var start = new Date().getTime();

            for (var i = 0; i < 10000; i++) {
                $h.css("top", (i + 4));
                $h.appendTo("#box");
            }
            var end = new Date().getTime();
            $("#debug").html(end - start);
        }

test1 在哪里被调用了? - Arun P Johny
1个回答

5

使用字符串作为参数调用 css 函数将返回具有该名称的样式属性的值。

当然,没有任何样式属性被命名为 "position:absolute;top:100px;width:1px;height:1px;background:red;",因此它会返回 undefined

您可能想要的是

 var $h = $("<div/>").css({
    position:"absolute",
    top:"100px",
    width:"1px",
    height:"1px",
    background:"red"
});

绝对正确...是我犯了愚蠢的错误 :) 谢谢 - yossi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接