在 Internet Explorer 中如果元素没有 tabIndex,它将 return 0 作为默认值

In Internet Explorer If element does not have tabIndex, it will return 0 as default value

我正在使用 javascript 获取此元素的 tabIndex 属性

<div role="radio" aria-checked="false" tabindex="-1">
 <div id="if_empty" tabindex="-1" type="radio" value="Show only if empty"></div>
 <label id="radioId" for="if_empty">Show only if empty</label>
</div>

它在除 Internet Explorer 之外的所有浏览器中都能完美运行。

const element = document.getElementById("radioId");
const tabIndex = element.tabIndex;

// tabIndex is -1 for Firefox/Chrome
// and it is equal 0 for Internet Explorer

如何在 Internet Explorer 中获取正确的 tabIndex?

对我有用的解决方案是使用 getAttribute('tabIndex')

获取 tabIndex
    for (let i = 0; i < rootNode.childNodes.length; i++) {
      const child = rootNode.childNodes[i];

      if (child.nodeType === 1 && child.getAttribute('tabIndex') === 0) {
             //find tabbable element
      }

    }

如果您不喜欢这个问题,请告诉我,我会删除它。