代码拉取完成,页面将自动刷新
import isArray from './utils/types/isArray'
import isObject from './utils/types/isObject'
import isString from './utils/types/isString'
import isUndefined from './utils/types/isUndefined'
import isElement from './isElement'
import setAttribute from './setAttribute'
import getAttribute from './getAttribute'
import setAttributes from './setAttributes'
import getAttributes from './getAttributes'
/**
* 获取或者设置 DOM 节点的单个或者多个 DOM 属性
* ========================================================================
* @method attrs
* @param {HTMLElement} el
* @param {String|Object|Array} [attr]
* @param {*} [value]
* @return {Object|null}
*/
const attrs = (el, attr, value) => {
if (!isElement(el)) {
return null
}
// 仅传递 el 参数,获取 el 元素的所有 DOM 属性
if (!attr && !value) {
return getAttributes(el)
}
if (!isString(attr) && !isArray(attr) && !isObject(attr)) {
return null
}
// 传递 attr 属性
if (isString(attr)) {
// 传递了 value 值,用于设置 DOM 属性
if (!isUndefined(value)) {
setAttribute(el, attr, value)
} else {
// 没有传递 value 值,用于获取 DOM 属性
return getAttribute(el, attr)
}
} else if (isArray(attr)) {
// 仅传递了 attr 属性
// attr 为数组是,用于获取 el 元素的多个 DOM 属性
return getAttributes(el, attr)
} else {
// attr 为对象,则用于给 el 元素设置多个 DOM 属性值
setAttributes(el, attr)
}
}
export default attrs
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。