2013-05-21 63 views
0

按照以下步驟在JS之謎,看問題:點擊jQuery的selecter外還激活功能

  1. 轉到http://jsfiddle.net/MjrFC/1/
  2. 在結果區域點擊「測試」一詞這開闢了1點
  3. 您應該只能夠點擊單詞測試(點1)和單詞哎(點2),但如果你點擊h1標籤,說你好它去點1

下面的代碼

<div class="contentb"> 
     <h1>testing hello world</h1> 
     <div class="point1">test</div> 
    </div> 

     point1 = '<div class="contentb"> <h1>Hello</h1><div class="point1"> test</div><div class="point2">Hey</div><h1>World</h1></div>'; 
     point2 = '<div class="contentb"> <div class="point1"> test</div></div>'; 

     var className = "Broken"; 
     $(document).on('click', '.contentb [class]', function() { 
      $(this).fadeTo(250, 0.25, function() { 
       className = this.className; 
       $('.contentb').html(window[className]); 

       $(this).fadeTo(250, 1.00); 

      }); 
     }); 

回答

2

point1point2變量不應包含contentb格,因爲你是追加的HTML元素一個帶班contentb

point1 = '<h1>Hello</h1><div class="point2"> test</div><div class="point2">Hey</div><h1>World</h1>'; 
point2 = '<div class="point1"> test</div>'; 

var className = "Broken"; 
$(document).on('click', '.contentb [class]', function() { 
    $(this).fadeTo(250, 0.25, function() { 
     className = this.className; 
     $('.contentb').html(window[className]); 

     $(this).fadeTo(250, 1.00); 

    }); 
}); 

演示:Fiddle