<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">
var mySite={};
mySite.title=$('h1');
mySite.makeRed= function(){
return mySite.title.css('color','red');
};
$(document).ready(function() {
mySite.makeRed();
});
</script>
美好的一天。为什么函数内部调用的方法不会返回任何内容?
答案 0 :(得分:1)
我认为这些脚本标签位于文档的HEAD中。
当您在就绪处理程序之外执行此操作时:
mySite.title=$('h1');
元素h1
在DOM中可能尚未存在。这就是ready处理程序的目的:确保DOM已准备就绪。
您可以在正文末尾移动脚本标记(在</body>
标记之前)。这与就绪处理程序具有相同的结果,因为DOM是按顺序解析的。
或者你可以在准备好的处理程序中抓住H1元素。
答案 1 :(得分:0)
你拼错了一些东西。
var mySite={};
mySite.title=$('<h1/>').html("Hello World"); // Set some text and create the tag tag!
mySite.makeRed= function(){
return mySite.title.css('color','red');
};
$(document).ready(function() {
$("body").append(mySite.makeRed()); // Append it to the dom
});