我正在开发一个项目,我有不同的div组,如标题,文字,图像等。
单击后,我想为相关数量的div添加输入框。
你可以在这里看到工作小提琴: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重复整个脚本。有没有办法在数组中调用所有div组?例如:
var eltofind = ["heading", "text", "image"]
&安培;在每个功能中调用它们?
我的jQuery技能并不那么好&任何帮助,将不胜感激。
答案 0 :(得分:3)
你可以在jQuery中创建多个选择器
$(".heading, .text, .image").foo();
答案 1 :(得分:1)
只需在数组上运行$.each()
,使用eltofind
参数替换el
:
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');
});
}
});
答案 2 :(得分: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');
});
}
}