我希望这是有道理的。我有一个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
<div class="sc_options circle_counter_div" id="clone_this" style="display: block;">
<input type="text" class="circle_size"/>
</div>
<div class="sc_options circle_counter_div" id="clone_this" style="display: block;">
<input type="text" class="circle_size"/>
</div>
<div class="sc_options circle_counter_div" id="clone_this" style="display: block;">
<input type="text" class="circle_size"/>
</div>
<input type="submit" class="sc_options circle_counter_div" id="insert" name="insert" value="<?php _e("Insert", 'themedelta'); ?>" onClick="insertcirclecountershortcode();" style="display:none"/>
脚本
// Insert the column shortcode
function insertcirclecountershortcode() {
var tagtext;
var start;
var last;
var start = '[circlecounters]';
var last = '[/circlecounters]';
jQuery('.circle_counter_div').each(function() {
var tagtext = '[circlecounter rel="' + jQuery('.circle_size').val() + '"][/circlecounter]';
})
var finish = start + tagtext + last;
if (window.tinyMCE) {
window.tinyMCE.execInstanceCommand(window.tinyMCE.activeEditor.id, 'mceInsertContent', false, finish);
//Peforms a clean up of the current editor HTML.t
//tinyMCEPopup.editor.execCommand('mceCleanup');
//Repaints the editor. Sometimes the browser has graphic glitches.
tinyMCEPopup.editor.execCommand('mceRepaint');
tinyMCEPopup.close();
}
return;
}
答案 0 :(得分:1)
扩展答案:在提供了更多信息之后,您可能只是错过了循环上的索引和值属性。很难说,因为提供的示例代码很少。
$('.test').each(function(i,v) {
var tagtext = $(v).html();
console.log(tagtext);
})
原始答案:
使用use classes而不是Id。 Id只能在页面上使用一次。
由于只有一次出现,jQuery会将结果过滤为1,即使标记可能在页面上有多个具有该Id的元素。这是为了利用内置的浏览器函数getElementById()。
对于此jsFiddle
的结帐凭证使用class属性更适合您尝试做的事情。
jQuery('.clone_this').each(function() {
var tagtext = '[something][/something]';
})
标记:
<div class="clone_this"></div>
这将允许jQuery返回像您一样寻找
的元素数组答案 1 :(得分:0)
这就是我需要的......终于让它运转了。
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;