Javascript:按类获取元素,但跳过某个类
Javascript: get element by class but skip a certain class
我想选择一个有特定类但没有特定其他类的元素。你可以用一个很酷的CSS3选择器来做到这一点
self.tabs.querySelector('.active:not(.dropdown)')
但这在IE9中不起作用,所以我正在寻找类似的东西
self.tabs.querySelector('.active') && !self.tabs.querySelector('.dropdown')
谢谢你的建议。
对于这种特定的情况,切换选项卡,我们不需要循环来过滤我们需要的确切元素,因为active
元素永远不会超过2个,并且只使用一级子导航就足够了。总之,代码应该是这样的。
var activeTabs = self.tabs.querySelectorAll('.active');
if ( activeTabs.length === 1 && !activeTabs[0].classList.contains('dropdown') ) {
return activeTabs[0]
} else if ( activeTabs.length > 1 ) {
return activeTabs[1]
// or return activeTabs[activeTabs.length-1]
// in case we need the exact item that is relevant to the tab content and is on even deeper level
}
希望这能帮助到别人。
相关文章:
- React - 从 DOM 元素获取组件以进行调试
- 如何使用 JQuery 从相对元素获取 html 文本
- 从同一域上的 iframe 中的元素获取值
- 使用本机 Javascript 从 DOM 元素获取选择器字符串
- 使用jquery从另一个元素获取使用id的输入的id
- 如何从角度元素获取编译的节点值
- 如何为不同的元素获取不同的父类
- 从 jQuery 中的子元素获取父 tr 元素
- 当浮点部分为空时,从 JQuery 中的输入元素获取数字值不起作用
- 从 XML 元素获取文本
- 从音频元素获取音频样本
- 从所选元素 html 上方的元素获取属性值
- 使用 jQuery.data 从 dom 元素获取布尔值
- 如何通过jquery从某个元素获取部分文本
- 从输入元素获取表单和表单数据对象
- 从动态元素获取挖空视图的大小
- 从中继器循环中显示的子自定义元素获取正确的上下文.奥蕾莉亚
- 如何使用 JavaScript 或 JQuery 从输入类型=文件 html 元素获取文件名
- 从父元素获取 ID 并将它们放在数组中
- 尝试从选项元素获取 HTML