js 监听 id为panel-2的元素的class属性由tab-pane变化为tab-pane active,即触发函数a
时间: 2024-05-08 22:20:40 浏览: 70
可以使用 MutationObserver 来监听元素 class 属性的变化,从而触发相应的函数。代码如下:
```js
// 获取需要监听的元素
var targetNode = document.getElementById('panel-2');
// 创建一个 MutationObserver 实例
var observer = new MutationObserver(function(mutationsList, observer) {
// 遍历每一个变化
for(var mutation of mutationsList) {
// 判断是否是 class 属性发生了变化
if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
var oldValue = mutation.oldValue || '';
var newValue = targetNode.getAttribute('class') || '';
// 判断是否从 'tab-pane' 变为 'tab-pane active'
if (oldValue.indexOf('tab-pane') !== -1 && newValue.indexOf('tab-pane active') !== -1) {
// 触发函数 a
a();
}
}
}
});
// 配置 MutationObserver 实例,监听 class 属性的变化
var config = { attributes: true, attributeOldValue: true, attributeFilter: ['class'] };
observer.observe(targetNode, config);
```
这段代码会监听 id 为 `panel-2` 的元素的 `class` 属性的变化,如果从 `tab-pane` 变为 `tab-pane active`,就会触发函数 `a()`。
阅读全文