【发布时间】:2013-01-31 21:54:11
【问题描述】:
我想将 HTML5 hidden 支持与 jQuery 的 .toggle() 方法配对。
所以给定<p id="myElement">Hi there</p>
$('#myElement').toggle() 将隐藏元素,并设置hidden="hidden":
<p id="myElement" style="display: none;" hidden="hidden">Hi there</p>
再次执行相同的$('#myElement').toggle() 脚本将显示(切换)元素,并删除hidden="hidden" 属性(它是一个布尔值):
<p id="myElement" style="display: inline">Hi there</p>
我可能想使用the method的完整功能,可能类似于
$('#myElement').toggle(
if ($this.css('display')==='none'){
$this.prop('hidden', 'hidden');
}
else
{
$this.removeProp('hidden');
}
)
扩展.toggle() 以同时切换HTML5 hidden 属性的最佳解决方案是什么?这样做是多余的吗?
这个问题是Adding WAI-ARIA support to jQuery .toggle() method 的变体;已确定切换aria-hidden 状态与切换元素的显示是多余的。
【问题讨论】:
-
我会简单地制作我自己的扩展方法/jquery 插件来完成这个技巧并将其命名为适当的名称。
-
@ericosg: 好吧,
.toggle()方法似乎支持对目标元素进行这种类型的操作,所以如果它以某种方式提供速度增益,我只会将其作为插件执行。 -
目前 [几乎] 同样多余地切换隐藏和显示:无。您想要这样做的动机是什么 - 您认为它会解决或改进什么?
-
@brendanmck:我想我所证明的只是 jQuery 可以启用我的强迫症
标签: jquery html accessibility