123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- 'use strict';
- const { querySelectorAll } = require('../lib/xast.js');
- exports.name = 'removeAttributesBySelector';
- exports.type = 'visitor';
- exports.active = false;
- exports.description =
- 'removes attributes of elements that match a css selector';
- exports.fn = (root, params) => {
- const selectors = Array.isArray(params.selectors)
- ? params.selectors
- : [params];
- for (const { selector, attributes } of selectors) {
- const nodes = querySelectorAll(root, selector);
- for (const node of nodes) {
- if (node.type === 'element') {
- if (Array.isArray(attributes)) {
- for (const name of attributes) {
- delete node.attributes[name];
- }
- } else {
- delete node.attributes[attributes];
- }
- }
- }
- }
- return {};
- };
|