我是Salesforce Apex的新手,在某些细微差别上苦苦挣扎。我的问题是,所有Salesforce组件在渲染时都喜欢knowledge:categoryList
或被knowledge:articleList
多余的span
元素包裹着,这远远超出了最初的需求。像:
<ul>
<span>
<li>One</li>
<li>Two</li>
<li>Three</li>
</span>
</ul>
至少在语义上是错误的,但是使用像这样的库时,它们会破坏标记Bootstrap
。有解决方案吗?还是在某些时候我错了?
UPD小示例:
这...
<ul class="nav nav-tabs" role="tablist">
<knowledge:categoryList categoryVar="category" categoryGroup="Help" rootCategory="Using_{!selectedCategory}" level="1">
<li role="presentation">
<a href="#{!category.name}" aria-controls="basics" role="tab" data-toggle="tab">{!category.label}</a>
</li>
</knowledge:categoryList>
</ul>
...呈现为...
<ul class="nav nav-tabs" role="tablist">
<span id="j_id0:j_id1:j_id37"> // <!-- how to remove this wrapper? -->
<li role="presentation">
<a href="#" aria-controls="basics" role="tab" data-toggle="tab">One</a>
</li>
<li role="presentation">
<a href="#" aria-controls="basics" role="tab" data-toggle="tab">Two</a>
</li>
<li role="presentation">
<a href="#" aria-controls="basics" role="tab" data-toggle="tab">Three</a>
</li>
</span> <!-- ??? -->
</ul>
好的,我设法用小的jQuery代码段解决了这个问题:
(function ($) {
$(document).ready(function () {
var allSpansAndDivs = $('span, div');
$.each(allSpansAndDivs, function (index, elem) {
if ($(this).attr('id') != undefined && $(this).attr('id').indexOf('j_') > -1) {
$(this).children().first().unwrap();
}
});
});
})(jQuery);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句