Javascript 在模块模式中访问jQuery对象
真正开始使用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&
<!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();
});