html5-utils
Version:
html5 dom utils....
68 lines (54 loc) • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getAttrObj = getAttrObj;
exports.getAttrIndex = getAttrIndex;
exports.hasAttr = hasAttr;
exports.getAttr = getAttr;
exports.setAttr = setAttr;
exports.removeAttr = removeAttr;
var _find = require('lodash/find');
var _find2 = _interopRequireDefault(_find);
var _findIndex = require('lodash/findIndex');
var _findIndex2 = _interopRequireDefault(_findIndex);
var _map = require('lodash/map');
var _map2 = _interopRequireDefault(_map);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _ = { find: _find2.default, findIndex: _findIndex2.default, map: _map2.default };
function getAttrObj(element, name) {
var n = name.toLowerCase();
return _.find(element.attrs, function (attr, i) {
return attr.name.toLowerCase() === n;
});
}
function getAttrIndex(element, name) {
var n = name.toLowerCase();
return _.findIndex(element.attrs, function (attr, i) {
return attr.name.toLowerCase() === n;
});
}
function hasAttr(element, name) {
return getAttrIndex(element, name) !== -1;
}
function getAttr(element, name) {
var attr = getAttrObj(element, name);
return attr !== undefined ? attr.value : null;
}
function setAttr(element, name, value) {
var i = getAttrIndex(element, name);
if (i > -1) {
element.attrs[i].value = value;
} else {
element.attrs.push({ name: name, value: value });
}
}
function removeAttr(element, name) {
var n = name.toLowerCase();
return _.map(element.attrs, function (attr, i) {
if (attr.name.toLowerCase() !== n) {
return true;
};
element.attrs.splice(i, 1);
});
}