我正在尝试制作一个通用代码,可以在Joomla CMS后端的每个模块中使用。代码需要从标签中获取ID,并将此id作为类添加到最近的父类control-group
<div class="control-group">
<div class="control-label">
<label id="jform_params_some_text_here-lbl" for="jform_params_some_text_here" class="hasPopover"></label>
</div>
<div class="controls"></div>
</div>
我知道我可以用这个来设置它:
(function ($) {
$(document).ready(function() {
$("#jform_params_some_text_here-lbl").parents(".control-group").addClass("jform_params_some_text_here-cg");
});
})(jQuery);
但我需要普及它。
lbl
并替换为字母cg
control-group
答案 0 :(得分:1)
您可以利用jQuery的可用has attribute selector来仅定位具有已定义id
属性的标签元素,以避免任何未定义的错误。
然后,您应该能够看到下面注释的首选步骤:
// Step 1: Iterate through each label that has an `id` attribute
$('label[id]').each(function(){
// Step 2: Get your replacement id
var id = $(this).attr('id').replace('lbl','cg');
// Step 3: Find your nearest parent with "control-group" class
var parent = $(this).parents('.control-group');
// Step 4: Now set the class for your parent element
parent.addClass(id);
});