2012-06-26 71 views
0

我工作的一個項目,我有不同的套狀的標題,文字,圖像等的div ..調用VAR陣列= []每個功能

在點擊我要追加輸入框,這一點相關的內divs數量。

你可以看到在這裏工作小提琴:http://jsfiddle.net/UN62E/

該腳本將工作給我,但我需要這個腳本的改進。

這是我的腳本的一部分,怎麼看起來像:

var eltofind = "heading"; 

if($(this).find("." + eltofind).length != 0){ 

    var eltoget = $(this).find("." + eltofind); 

    $(eltoget).each(function(index) { 
     var item = $('input.' + eltofind + ':first').clone(); 
     var count = (index +1); 
     var getting = eltofind + "-" + count; 
     item.addClass(getting); 
     item.appendTo('#input'); 
    }); 
} 

目前我重複整個腳本單個套股利。有沒有辦法調用數組中的所有div集合?例如:

var eltofind = ["heading", "text", "image"] 

&每個函數中調用呢?

我的jQuery技能不是那麼好&任何幫助,將不勝感激。

回答

0

創建循環遍歷eltofind的每個值並執行相應的操作。

var eltofind = ["heading", "text", "image"]; 

for(var i=0; i < eltofind.length; i++){ 
    var thisElement = eltofind[i]; 

    if($(this).find("." + thisElement).length != 0){ 

     var eltoget = $(this).find("." + thisElement); 

     $(eltoget).each(function(index) { 
      var item = $('input.' + thisElement + ':first').clone(); 
      var count = (index +1); 
      var getting = thisElement + "-" + count; 
      item.addClass(getting); 
      item.appendTo('#input'); 
     }); 
    } 
} 
3

您可以多個選擇中的jQuery

$(".heading, .text, .image").foo(); 
1

陣列上只要運行$.each()一個與el參數替換eltofind

var elstofind = ["heading", "text", "image"]; 

$.each(elstofind, function(i, el){ 

    if($(this).find("." + el).length != 0){ 
     var eltoget = $(this).find("." + el); 

     $(eltoget).each(function(index) { 
      var item = $('input.' + el + ':first').clone(); 
      var count = (index + 1); 
      var getting = el + "-" + count; 
      item.addClass(getting); 
      item.appendTo('#input'); 
     }); 
    } 

});