2012-07-30 100 views
0
  1. 這個例子中的domEle是什麼?我可以在jQuery.com中看到一個解釋 - jQuery.each(collection,callback(indexInArray,valueOfElement)),但仍然很難理解什麼是「valueOfElement」?有人可以爲我清除一點嗎?我在學習時遇到的jQuery問題(初學者)

    $("button").click(function() { 
        $("div").each(function (index, domEle) { 
        $(domEle).css("backgroundColor", "yellow"); 
        if ($(this).is("#stop")) { 
         $("span").text("Stopped at div index #" + index); 
         return false; 
        } 
        }); 
    }); 
    
  2. ,如果我會寫這樣的:$("input[name='newsletter']").next().text(" is newsletter"); jQuery將只查找精確匹配,如果我這樣寫:$("input[name$='newsletter']").next().text(" is newsletter"); jQuery將找到精確匹配,可以說,「簡報」太的價值?

  3. 作者使用此代碼:

    $(document).mouseup(function(e) { 
          if($(e.target).parent("a.signin").length==0) { 
           $(".signin").removeClass("menu-open"); 
           $("fieldset#signin_menu").hide(); 
          } 
         });  
    

    隱藏下拉每當用戶按下其他地方上的文檔。有人可以評論這條線if($(e.target).parent("a.signin").length==0) {,因爲我不完全明白我們在這裏做什麼。原文在這裏:http://aext.net/2009/08/perfect-sign-in-dropdown-box-likes-twitter-with-jquery/

  4. 我應該知道的默認方法調用?

在教程之一,我發現了這樣的評論:

「最後,如果我們不包括在CSS保證金,CSS的方法調用的結果是自動,不會解析正常,所以我們需要用數字0"

var top = $('#comment').offset().top - parseFloat($('#comment').css('marginTop').replace(/auto/,0)); 

可以在這個人的評論來代替文字「自動」,因爲我不完全理解他在這裏做。

在這裏原創文章:http://jqueryfordesigners.com/fixed-floating-elements/

+1

你應該打破個別問題中的一系列問題。每個問題都會有自己的答案。以這種方式詢問大量問題很難得到正確的答案。 – 2012-07-30 14:40:50

回答

0

1.)$(「div」)將選擇頁面上的每個div。每個將遍歷所有這些div。對於每次迭代,domEle都將成爲循環當前正在迭代的div的引用。

2.)^ =是您要查找的內容,^ =以給定字符串開頭搜索所有內容。 $ =搜索以給定字符串結尾的所有內容:http://api.jquery.com/category/selectors/

3.)e.target是用戶點擊的地方。 .parent(「a.signin」)。length == 0選擇父類,如果它是類.signin的錨。檢查等於零的長度等於詢問是否選擇了任何東西。所以基本上,如果用戶沒有在類別登錄的錨點中點擊,那麼做一些事情。 4)$('#comment')。offset()。top獲得#comment元素頂部的偏移量。 parseFloat($('#comment').css('marginTop').extension(/ auto /,0))從元素頂部獲得邊距。如果邊距設置爲「自動」,則認爲邊距爲0. Parsefloat確保將其作爲數字進行處理,然後從頂部偏移量中扣除。這是自定義代碼,不是經常使用/需要的東西。

1

1)它是迭代的元素 - 目前正由each處理的元素。它會自動轉發到回調。 (我不喜歡這種模式;我個人更喜歡在each回調中使用$(this))。

2)第一查找元素,其name屬性恰好newsletter,而後者發現一個元素,其name屬性newsletter結束。 $的使用是從正則表達語法中借用的。 (正則表達式是一個完全獨立的主題)。

3)這是一個事件委託的例子(雖然不是一個很好的例子 - jQuery可以比這個例子更有效地處理這個問題)。事件代表團肯定是要看的東西。

您提到的那一行詢問事件的觸發元素 - 觸發事件的元素 - 並檢查其父對照條件。

4)我甚至不會在這一點上花費任何精力 - 它非常不標準,並且本地化爲特定用例。

+0

+1,因爲你設法回答所有4個問題,總共4票。無論如何,我會爲Q4提供一個答案:它只是將元素相對於文檔頂部的位置減去其「marginTop」。 – 2012-07-30 14:46:29

+0

哈哈我在寫近距離投票的時候,我正在忙着寫作。我個人對於分組問題(他們非常小)沒有問題,但我知道有些人不同意。 – Utkanos 2012-07-30 14:47:34