代码拉取完成,页面将自动刷新
import isHTML from './utils/types/isHTML'
import isFunction from './utils/types/isFunction'
import isDOM from './isDOM'
import isElement from './isElement'
import insertAfter from './insertAfter'
import insertHTMLAfterEnd from './insertHTMLAfterEnd'
import hide from './hide'
/**
* 用指定 DOM 节点或者将 HTML 字符转化成节点替换 reference 节点
* ========================================================================
* @method replace
* @since 1.1.0
* @see https://developer.mozilla.org/zh-CN/docs/Web/API/Element/replaceWith
* @param {HTMLElement|String} el
* @param {HTMLElement} reference
* @return {Element|null}
*/
const replace = (el, reference) => {
let $replace
let $parent
/* istanbul ignore else */
if (!isElement(reference) || (!isDOM(el) && !isHTML(el))) {
return null
}
$parent = reference.parentNode
if (!$parent) {
return null
}
hide(reference)
if (isDOM(el)) {
$replace = insertAfter(el, reference)
} else {
$replace = insertHTMLAfterEnd(reference, el)
}
if (isFunction(reference.replaceWith)) {
reference.replaceWith($replace)
} else {
reference.remove()
}
return $replace
}
export default replace
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。