UNPKG

jknife

Version:
32 lines (30 loc) 795 B
/** * @description 追加body属性,如果存在则替换值 * @param {String} attrKey key * @param {String} value 值 * @interactive * * @example * appendAttrToBody('color', 'red') * console.log(document.body.getAttribute('style')) // color:red; */ function appendAttrToBody (attrKey, value) { const baseStyleList = (document.body.getAttribute('style') ?? '').split(';') let newStyle = '' let isChange = false for (const s of baseStyleList) { if (!s) continue const [key] = s.split(':') if (key === attrKey) { isChange = true newStyle += `${key}:${value};` } else { newStyle += `${s};` } } if (!isChange) { newStyle += `${attrKey}:${value};` } document.body.setAttribute('style', newStyle) } export default appendAttrToBody