我正在为 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>
如您所见,修改后的标签和生成的跨度没有任何类告诉我它是一个复选框(或单选/按钮)。
理想的解决方案将基于希望我没有注意到的一些课程。第二个最好的解决方案是对 jQuery UI 进行猴子补丁以向这些输入添加更好的类。最后可能的解决方案是破解 jQuery 文件……尽管我真的想避免这种情况。
请注意,我们不会容忍任何形式的狂热、非建设性的评论和类似的答案。问题是 jQuery UI,我不想听到你想到的 mootools、extjs 或任何流行的 l33t 库。