Когда вы используете dijit.ComboBox, предложения с опережением вводятся как dijit.Menu. У меня есть дизайн, который требует, чтобы сопоставленная часть строк предложений была нормальной, а непревзойденная часть - жирной. Структура, которую создает dojo, выглядит следующим образом:
<ul class="dijitReset dijitMenu">
<li role="option" class="dijitReset dijitMenuItem">
<span class="dijitComboBoxHighlightMatch">Ch</span>oice One
</li>
<li role="option" class="dijitReset dijitMenuItem">
<span class="dijitComboBoxHighlightMatch">Ch</span>oice Two
</li>
</ul>
Так что я могу нацеливаться на совпавшую часть, но не на непревзойденную. Так что мой css должен быть примерно таким:
.dijitMenuItem { font-weight: bold; }
.dijitMenuItem .dijitComboBoxHighlightMatch { font-weight: normal; }
Проблема в том, что если я сделаю это, все меню будут выделены жирным шрифтом, и я этого не хочу. Просто делаю что-то вроде этого:
<select dojoType="dijit.form.ComboBox" class="foobar">[options]</select>
помещает класс foobar в ComboBox, но меню является независимым узлом, не входящим в эту иерархию.
Какой самый простой способ добавить класс css во всплывающее меню, которое генерирует ComboBox?