jQuery:迭代元素并将属性的值复制到数据属性?

时间:2016-03-21 09:46:07

标签: javascript jquery

当我显示一个对话框时,我需要使用aria-hidden="true"隐藏屏幕阅读器中的元素。当取消显示该对话框时,我必须再次删除aria-hidden

如果有一些元素已经设置了aria-hidden,我想在数据属性中缓存它们的原始状态,所以我可以在取消显示对话框时再次将其设置回原始值框。

$('body > :not(#dialog)').each ->
  $el = $(@)
  $el.data('dialog-aria-hidden', $el.attr('aria-hidden')) # Store original value
  $el.attr('aria-hidden', true) # Set new value

我不想创建一个临时的$el元素。有更快的方法吗?这样的事可能吗?

$('body > :not(#dialog)').data('dialog-aria-hidden', attr('aria-hidden')).attr('aria-hidden', true)

0 个答案:

没有答案