1

我正在使用 jquery-ui 自动完成生成一个列表。我想对这个列表应用一个自定义类,这样我就可以使用像 my_list:first-child 这样的 css 选择器来引用这个列表中的第一项。

我已经尝试了以下代码,但是 li 标签上的类说明符正在丢失。有什么建议么?这里的类似问题讨论了用猴子补丁重载renderItem,但考虑到我想要做的就是指定一个类属性,这似乎过分了。

.data('autocomplete')._renderItem = ( ul, item ) ->
  $( "<li class='my_list'></li>" )
    .data( "item.autocomplete", item )
    .append( '<a>' + item.label + '</a>' )
    .appendTo( ul )
4

1 回答 1

3

如果您深入查看输出,您会得到如下信息:

<ul class="ui-autocomplete ui-menu ui-widget ui-widget-content ui-corner-all" role="listbox" aria-activedescendant="ui-active-menuitem" style="z-index: 1; display: block; width: 108px; top: 275px; left: 576px; ">
    <li class="ui-menu-item" role="menuitem">
        <a class="ui-corner-all ui-state-hover" tabindex="-1" id="ui-active-menuitem">ActionScript</a></li>
    <li class="ui-menu-item" role="menuitem">
        <a class="ui-corner-all" tabindex="-1">AppleScript</a></li>
    <li class="ui-menu-item" role="menuitem">
        <a class="ui-corner-all" tabindex="-1">Asp</a></li>
    <li class="ui-menu-item" role="menuitem">
        <a class="ui-corner-all" tabindex="-1">BASIC</a></li>
</ul>

对于这样的风格,如:

.ui-autocomplete li:first-child { background-color: red; }

会成功的:

在此处输入图像描述

我在你的问题上遗漏了什么吗?

于 2012-04-15T11:57:32.587 回答