0

真正进入 javascript 并查看一些模式。我遇到的一个是模块模式。它似乎是一种很好的方式来考虑功能,所以我继续尝试用 jQuery 来实现它。不过,我遇到了障碍。考虑以下代码

    <!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8">
        <title>index</title>        
        <script type="text/javascript" charset="utf-8" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
        <script type="text/javascript" charset="utf-8">
            $(document).ready(function(){

                var TestClass2 = (function(){
                    var someDiv;            
                    return {
                        thisTest: function ()
                        {
                               someDiv = document.createElement("div");
                                   $(someDiv).append("#index");
                                   $(someDiv).html("hello");
                                   $(someDiv).addClass("test_class");
                        }
                    }
                })();

                TestClass2.thisTest();          

            });
        </script>

    </head>

    <body id="index" onload="">

        <div id="name">
            this is content
        </div>

    </body>
</html>

上面的代码提醒了 div 的 html 内容,然后添加了一个类。这些都使用 jQuery 方法。问题是 .html() 方法可以正常工作,但是我无法添加该类。没有错误结果,也没有添加类。这里发生了什么?为什么类没有被添加到 div 中?

4

3 回答 3

2

啊,既然你已经更新了你的问题,我可以更好地回答你的问题。考虑到您希望将新创建的元素移动到已经存在的#index 内,您应该将 append 更改为 appendTo。

$(document).ready(function() {

var TestClass2 = (function() {
    var someDiv = $("#name");
    return {
        thisTest: function() {
            someDiv = document.createElement("div");
            $(someDiv)
                .html("hello")
                .addClass("test_class")
                .appendTo("#index");
        }
    }
})();

TestClass2.thisTest();

});

希望这可以帮助!

于 2011-01-17T00:52:10.147 回答
0

您的代码效果很好! http://jsfiddle.net/lmcculley/p3fDX/

于 2011-01-16T23:55:22.100 回答
0

我复制并粘贴了您的代码,它对我有用。

确保您不只是查看源代码以查看是否应用了该类,因为这样做只会向您显示从服务器发送的 HTML - 通过 JavaScript 发生的任何 DOM 更新都不会被反映。

要查看实时 DOM,请使用Firebug或 WebKit 的 Inspector(内置于 Safari 和 Chrome)之类的工具。

于 2011-01-16T23:36:41.007 回答