![](/img/trans.png)
[英]How do I use JQuery inside a constructor function inside a JS namespace?
[英]How do I use JQuery inside an object constructor in my own javascript namespace?
我什至无法在任何地方找到这个问题的答案,所以也许我完全在错误的树上吠叫......
我正在创建一个 javascript 命名空间,在其中放置一个构造函数:
var SEP=SEP||{};
SEP.person=function(name)
{
this.name=name
this.sayName=sayName
function sayName()
{
return this.name;
$(document).ready
(
function()
{
$('body').css('background', 'red');
}
);
}
}
然后我从 HTML 调用函数...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>test</title>
<meta name="generator" content="BBEdit 10.5" />
</head>
<body>
<script src="libraries/jquery/javascript/jquery-1.11.0-min.js"></script>
<script src="libraries/sep/javascript/sep.js"></script>
<p>Hello</p>
<script>
var bob=new SEP.person("bob");
word=bob.sayName();
document.write(word);
</script>
</body>
</html>
问题一是,为什么这不起作用? 问题二是我怎样才能使它工作? 问题三是,如果我想制作一个更复杂的构造函数,尽管使用 JQuery,我是否需要一遍又一遍地做文档准备工作,还是有更好的方法?
提前谢谢了。
实际上你的构造函数工作正常。 但是你不应该在你的代码中使用document.write
。 相反,您可以使用.append()
.html()
或.text()
方法将值附加到 html 标记。 你的sayName()
方法也应该有一个小的变化,Css 应该在return
之前应用。 否则它不会碰到那些代码行。
var SEP = SEP || {};
SEP.person = function (name) {
this.name = name
this.sayName = sayName
function sayName() {
$('body').css('background', 'red');
return this.name;
}
}
var bob = new SEP.person("bob");
word = bob.sayName();
$("span").text(word);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.