0
<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>

再会。为什么函数内部调用的方法没有返回任何内容?

4

2 回答 2

1

我想那些脚本标签在文档的 HEAD 中。

当您在就绪处理程序之外执行此操作时:

 mySite.title=$('h1');

该元素h1可能在 DOM 中尚不存在。这是 ready 处理程序的目的:确保 DOM 已准备好使用。

您可以将脚本标签移动到正文的末尾(就在</body>标签之前)。这与就绪处理程序具有相同的结果,因为 DOM 是按顺序解析的。

或者你可以在准备好的处理程序中抓住你的 H1 元素。

于 2012-03-26T06:24:46.673 回答
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

});​

http://jsfiddle.net/eZzYz/1/

于 2012-03-26T06:26:15.057 回答