1 //第一题
2 $('<a href="#top">back to top</a>').insertAfter('div.chapter p:gt(3)');
3 $('<a id="top"></a>').prependTo('body');
4
5 //第二题
6 $('.chapter a[href*="top"]').click(function(){
7 $('<p>You were here</p>').insertAfter(this);
8 });
9
10 //第三题与第四题一起写了 本来是用<strong>标签的,但配合题目,就用<b>标签
11 $('div#f-author').click(function(){
12 //console.log($(this));
13 if(!$(this).children().is("b"))
14 $(this).wrapInner('<b></b>');
15 else{
16 $(this).text($(this).text());
17 }
18 });
19
20 //或者,这个方法比较差,要用到异常处理
21 $('div#f-author').click(function(){
22 var name =null;
23 try{
24 name = $(this).children().get(0).tagName;}
25 catch(e){
26 name = $(this).get(0).tagName;
27 }
28 if(!(name=="DIV")){
29 $(this).text($(this).text());
30 }else{
31 $(this).wrapInner('<b></b>');
32 }
33 });
34
35
36 //第五题
37 $('div.chapter p').each(function(index){
38 var classValue = $(this).attr('class');//取到类值
39 if(classValue){//本身已经定义了类
40 $(this).attr('class',classValue+' '+'inhabitants');
41 }else{//未定义类的,去掉undefine的值
42 $(this).attr('class','inhabitants');
43 }
44 });
45 //第五题实现的功能与下面这条语句是相同的,请特别注意
46 //$('div.chapter p').addClass('inhabitants');