原生js动态注入脚本内容

原生js动态注入脚本内容,第1张

export  const createScript = (result,type,pos) =>{

        var positions = pos? document.getElementsByTagName('head')[0] :document.getElementsByTagName('body')[0]

        var script = document.createElement('script')

        script.type = 'text/javascript'

        if (type === 'url') {

            script.src = result

        } else {            

            script.innerHTML = result

        }

        positions.appendChild(script)

    }

let scriptCode = `

            function fns(){

                alert("原生js动态注入脚本内容")

            }

            fns()

createScript(scriptCode)          

想要在页面动态添加元素,首先要确定在哪个元素后面添加元素,然后利用js的appendChild方法在该元素后面追加元素。

1.获取父节点元素varbody=document.getElementsByTagName('body')[0]。

2.然后动态创建a标签vara=document.createElement('a')。

3.把创建好的a标签追加到body下面body.appendChild(a)。

4.在a标签里面添加文本内容a.innerHTML='这是一个链接'。

5.给a标签添加一个链接a.href='https://www.baidu.com/'。

扩展资料:

js一些原生方法

element.appendChild()方法向节点添加最后一个子节点。

element.innerHTML设置或返回元素的内容。

document.getElementsByTagName()返回带有指定标签名的对象集合。

document.getElementById()返回对拥有指定id的第一个对象的引用。

document.createElement()通过指定名称创建一个元素。

如果需要用原生js动态的加载另外一个js文件,可以使用原生js的document.createElement方法创建script节点,然后更改该节点的type和src属性,最后通过appendChild方法将该节点动态添加到html中,这样就可以了,参考代码如下:

var new_element = document.createElement("script")//创建新的script节点new_element.setAttribute("type", "text/javascript")new_element.setAttribute("src", "../js/jquery.js")document.body.appendChild(new_element)//添加到body节点的末尾

上例中是在body的最末尾添加的,当然同样可以在head中添加引用该js的标签:document.head.appendChild(new_element)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11464698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存