我正在尝试隐藏jquery ui菜单小部件的子菜单图标(默认值为 ui-icon-carat-1-e )。
$(document).ready(function(){
$(function() {
$( "#menu" ).menu({
icons: {
submenu: false
}
});
});
});
我想解决方案非常简单,但我无法理解: - (
感谢您的帮助,伙计们。
编辑:这是我的HTML代码:
<ul id="menu" style="z-index:1">
<li><a href="#"><span class="ui-icon ui-icon-info" style="margin: 3px 0 0 4px;"></span>Information </a>
<ul>
<li><a href="?site=something"><span class="ui-icon ui-icon-star" style="margin: 2px 0 0 4px;"></span>Something</a></li>
<li>...</li>
...
</ul>
</ul>
这是jquery完成滚刀时的代码:
<ul id="menu" class="ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons" style="z-index:1" role="menu" tabindex="0" aria-activedescendant="ui-id-152">
<li class="ui-menu-item" role="presentation">
<a id="ui-id-152" class="ui-corner-all" href="#" aria-haspopup="true" tabindex="-1" role="menuitem">
<span class="ui-menu-icon ui-icon ui-icon-carat-1-e"></span>
<span class="ui-icon ui-icon-info" style="margin: 3px 0 0 4px;"></span>
Information
</a>
<ul class="ui-menu ui-widget ui-widget-content ui-corner-all" style="display: none; top: 31px; left: 20px;" role="menu" aria-expanded="false" aria-hidden="true">
<li class="ui-menu-item" role="presentation"> … </li>
<li class="ui-menu-item" role="presentation"> … </li>
<li class="ui-menu-item" role="presentation"> … </li>
<li class="ui-menu-item" role="presentation"> … </li>
我想删除这个烦人的跨度标签 span class =“ui-menu-icon ui-icon ui-icon-carat-1-e”
干杯 亚历
答案 0 :(得分:4)
之前的答案是糟糕的黑客攻击。 您可以使用正确的设置删除图标,这将留下图标通常会出现的空白区域。 使用CSS删除图标的额外间距。你可以同时做这两件事,或者只做CSS部分。
Javascript菜单初始化(可选更改 - css将完全隐藏):
$("#mymenu").menu({
icons: {submenu: 'ui-icon-blank'}
});
CSS更改:
#mymenu .ui-menu-icon{display: none;}
#mymenu.ui-menu .ui-menu-item{padding: 3px 3px 3px 3px;}
答案 1 :(得分:3)
Working Fiddle using jquery solution
基本上,您可以使用jquery remove命令执行此操作。
JS(初始化小部件后运行)
$('.ui-menu-icon.ui-icon.ui-icon-carat-1-e').remove();