Я пишу свой собственный CSS для пользовательского интерфейса jQuery.Дифференциация флажков, кнопок и радио в jQuery UI CSS
В принципе, мне нужно иметь разные стили для переключателей, флажков и обычных кнопок.
Проблема заключается в том, что классы jQuery, добавляемые к поддельному виджету, не указывают, какая именно кнопка.
Например, предположим, что у нас есть этот код:
<input type="checkbox" name="location[]" id="location1" value="Somewhere" />
<label for="location1">Somewhere</label>
<script type="text/javascript">
$(document).ready(function(){
jQuery('input').button();
});
</script>
JQuery трансформирует эти два элемента в:
<input type="checkbox" name="location[]" id="location1" value="Somewhere"
class="ui-helper-hidden-accessible">
<label for="location1" aria-pressed="false" role="button" aria-disabled="false"
class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only">
<span class="ui-button-text">Somewhere</span>
</label>
Как вы можете видеть, измененная метка и генерироваться продолжительность не имеет какого-либо class говорит мне, что это флажок (или радио/кнопка).
Идеальное решение будет основано на надежде, что какой-то класс я не заметил. Вторым лучшим решением будет интерфейс jQuery для патча обезьяны, чтобы добавить лучший класс для этих входов. Последним возможным решением было бы взломать файлы jQuery ... хотя я действительно хочу этого избежать.
Имейте в виду, что любой вид fanboyism, неконструктивные комментарии и подобные ответы не будут допускаться. Проблема заключается в jQuery UI, я не хочу слышать о mootools, extjs или любой модной библиотеке l33t, которая вам подходит.
Хотя это не идеально (другим разработчикам придется менять существующий код jQuery), я думаю, что это наиболее разумное решение. – Christian