0

我正在做一个项目,我有不同的 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 技能不是那么好,任何帮助将不胜感激。

4

3 回答 3

3

您可以在 jQuery 中创建多个选择器

$(".heading, .text, .image").foo();
于 2012-06-26T17:21:07.090 回答
1

只需$.each()在数组上运行替换eltofindel参数:

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');
        });
    }

});
于 2012-06-26T17:23:50.657 回答
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');
        });
    }
}
于 2012-06-26T17:20:18.330 回答