代码拉取完成,页面将自动刷新
import isHTML from './utils/types/isHTML'
import isString from './utils/types/isString'
import isFunction from './utils/types/isFunction'
import isDOM from './isDOM'
import isElement from './isElement'
import text from './text'
import html from './html'
import insertBefore from './insertBefore'
import insertHTMLBeforeBegin from './insertHTMLBeforeBegin'
/**
* 将指定 DOM 节点或者 html 文本解析为 Element 元素,并将结果节点插入 reference 元素
* 自身内部的最前面或者 reference 元素前面。
* ========================================================================
* @method prepend
* @see https://developer.mozilla.org/zh-CN/docs/Web/API/Element/prepend
* @param {HTMLElement|String} el
* @param {HTMLElement} reference
* @return {Element|Text|null}
*/
const prepend = (el, reference) => {
let $target
if (!isElement(reference) || (!isHTML(el) && !isString(el) && !isDOM(el))) {
return null
}
if (isFunction(reference.prepend)) {
if (isDOM(el)) {
$target = el
} else if (isHTML(el)) {
$target = html(el)
} else {
$target = text(el)
}
reference.prepend($target)
return $target
} else {
$target = reference.firstChild
}
if (isDOM(el)) {
return insertBefore(el, $target)
} else if (isHTML(el)) {
return insertHTMLBeforeBegin($target, el)
} else {
return insertBefore(text(el), $target)
}
}
export default prepend
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。