我想添加一个设置bootstrap accordian元素的自定义按钮。要做到这一点,我需要知道文本中有多少其他手风琴元素,以便我可以为新元素提供正确的ID。现在我有:
// Add a custom button
ed.addButton('accordianArea', {
title : 'Accordian Area',
text : '[accordian/]',
icon: false,
onclick : function() {
// Add you own code to execute something on click
ed.focus();
var text = ed.selection.getContent({'format': 'html'});
var accordianText = '<div class="panel panel-default">' +
'<div class="panel-heading" role="tab" id="heading1">' +
'<h4 class="panel-title">' +
'<a role="button" data-toggle="collapse" href="#heading1" aria-expanded="true" aria-controls="heading1">' +
'Accordian Title<span id="_cursor" />' +
'</a>' +
'</h4>' +
'</div>' +
'<div id="heading1" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="heading1">' +
'<div class="panel-body">' +
(text ? text : 'Accordian Text') +
'</div>' +
'</div>' +
'</div>';
ed.execCommand('mceInsertContent', false, accordianText);
ed.selection.select(ed.dom.select('#_cursor')[0]); //select the inserted element
ed.selection.collapse(0); //collapses the selection to the end of the range, so the cursor is after the inserted element
ed.dom.remove('_cursor'); //remove the element
}
});
我需要能够计算文本中有多少panel-collapse
个类,以便我可以使每个新添加相应地增加heading1
和collapse1
。此外,我想我需要能够编辑已经存在的那些,以防一个被删除,以便添加的下一个不是另一个的重复。
有没有办法在jQuery或javascript中计算这些?
谢谢, 詹姆斯
答案 0 :(得分:1)
是的,这是可能的:
var ed = tinymce.get('your_editor_id');
var $elements = $(ed.getBody()).find('.panel-collapse');
var count = $elements.length;