Javascript jquery每个循环为每个div写入数据

Javascript jquery每个循环为每个div写入数据,javascript,jquery,loops,Javascript,Jquery,Loops,我希望这是有道理的。我有一个onclick,我试图用它为每个div编写数据 jQuery('.circle_counter_div').each(function() { var tagtext = '[circlecounter rel="' + jQuery('.circle_size').val() + '"][/circlecounter]'; }) 我正在克隆项目,但我只能为其中一个项目写入数据。如何为每个克隆项写入数据 在上面的例子中,我希望tagte

我希望这是有道理的。我有一个onclick,我试图用它为每个div编写数据

    jQuery('.circle_counter_div').each(function() {
       var tagtext = '[circlecounter rel="' + jQuery('.circle_size').val() + '"][/circlecounter]';
    })
我正在克隆项目,但我只能为其中一个项目写入数据。如何为每个克隆项写入数据

在上面的例子中,我希望tagtext等于

[circlecounter rel="' + jQuery('.circle_size').val() + '"][/circlecounter]
[circlecounter rel="' + jQuery('.circle_size').val() + '"][/circlecounter]
[circlecounter rel="' + jQuery('.circle_size').val() + '"][/circlecounter] 
完整代码 HTML


扩展答案:在提供了更多信息之后,您可能只是缺少循环中的索引和值属性。很难说,因为提供的示例代码很少

$('.test').each(function(i,v) {
   var tagtext = $(v).html();
    console.log(tagtext);
})

原始答案:

使用Use类而不是Id。Id在页面上只允许使用一次。
由于只应出现一次,jQuery将结果过滤为1,即使页面上的标记可能有多个具有该Id的元素。这是为了利用内置的浏览器函数getElementById()

为了证明这一点

使用class属性更适合您尝试执行的操作

jQuery('.clone_this').each(function() {
   var tagtext = '[something][/something]';
})
以及标记:

<div class="clone_this"></div>


这将允许jQuery返回一个元素数组,就像您正在寻找的一样这就是我所需要的。。。终于开始工作了

tagtext = ' ';

jQuery('#circle_counter_div .circlecounter').each(function() {
    tagtext += '[circlecounter rel="' + jQuery('.circle_size').val() + '" datathickness="' + jQuery('.circle_thickness').val() + '" datafgcolor="' + jQuery('.circle_color').val() + '" text="' + jQuery('.circle_text').val() + '" fontawesome="' + jQuery('.font_awesome_icon').val() + '" fontsize="' + jQuery('.circle_font_size').val() + '"][/circlecounter]';
});

var start = '[circlecounters]';
var last = '[/circlecounters]';
var finish = start + tagtext + last;

但是,一个给定id的元素不能超过一个。此外,您希望每个循环做什么?在这种情况下,使用类并没有什么不同。。。我使用类更新了它。仍然不起作用。你需要提供更多的代码,或者一个JSFIDLE来显示场景。是的,这是一个错误,我用一个类更新了它。仍然有同样的问题,因为使用这个类没有什么区别。它仍然返回为未定义的数据。
<div class="clone_this"></div>
tagtext = ' ';

jQuery('#circle_counter_div .circlecounter').each(function() {
    tagtext += '[circlecounter rel="' + jQuery('.circle_size').val() + '" datathickness="' + jQuery('.circle_thickness').val() + '" datafgcolor="' + jQuery('.circle_color').val() + '" text="' + jQuery('.circle_text').val() + '" fontawesome="' + jQuery('.font_awesome_icon').val() + '" fontsize="' + jQuery('.circle_font_size').val() + '"][/circlecounter]';
});

var start = '[circlecounters]';
var last = '[/circlecounters]';
var finish = start + tagtext + last;