Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在模块模式中访问jQuery对象_Javascript_Jquery_Scope_Module Pattern - Fatal编程技术网

Javascript 在模块模式中访问jQuery对象

Javascript 在模块模式中访问jQuery对象,javascript,jquery,scope,module-pattern,Javascript,Jquery,Scope,Module Pattern,真正开始使用javascript并查看一些模式。我遇到的一个问题是模块模式。这似乎是一个很好的方式来考虑功能的问题,所以我继续尝试用jQuery实现它。但我遇到了一个障碍。考虑下面的代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title&

真正开始使用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>

指数
$(文档).ready(函数(){
var TestClass2=(函数(){
var someDiv;
返回{
此测试:函数()
{
someDiv=document.createElement(“div”);
$(someDiv.append(#index));
$(someDiv.html(“你好”);
$(someDiv).addClass(“测试类”);
}
}
})();
TestClass2.thisTest();
});
这就是内容

上面的代码警告div的html内容,然后添加一个类。它们都使用jQuery方法。问题是.html()方法工作正常,但我无法添加该类。不会产生错误,并且不会添加该类。这里发生了什么?为什么这个类没有被添加到div中?

我复制并粘贴了你的代码,它对我很有用

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

要查看live DOM,请使用诸如或WebKit的Inspector(Safari和Chrome内置)之类的工具。

您的代码非常棒!
啊,既然你已经更新了你的问题,我可以更好地回答你的问题。考虑到要将新创建的元素移动到已经存在的#索引中,您应该更改append to appendo


希望这有帮助

您如何知道该类未添加?你给了它一些视觉风格吗?如果通过查看浏览器中的
查看源代码
来测试结果,则不会看到结果。您需要使用显示DOM更新的开发人员工具。使用什么浏览器和什么平台会发生这种情况?我正在使用firefox中的firebug和chrome附带的inspector。在firefox中它似乎可以工作,但在chrome中却不行。这是我应该首先发布的代码。我试图做的是创建一个元素,然后在对其进行操作时将其附加到dom中。但是,我在尝试添加类时遇到了问题,因此我更新了代码以匹配我的问题。你自己没有使用firefox吗?PS:我正在使用chrome和firefox的工具。该代码在firefox中有效,但在chrome中无效:(很抱歉,我发布的代码不是最好的示例。这确实是我的问题。确实是。谢谢你的帮助!
$(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();

});