如何在JavaScript

时间:2017-06-16 14:45:08

标签: javascript jquery html

我需要创建下面的元素并将其添加到HTML文件的head部分。



    <script type="text/javascript">
	//Var declarations - ABCCD
        (function(d) {
            //FUNCTION CODES
        }(document));
    </script>
&#13;
&#13;
&#13;

一切都已完成但我刚刚遇到上述部分的问题。我尝试了不同的选项,但无法按照提到的方式添加功能。

&#13;
&#13;
var headtg = document.getElementsByTagName('head')[0];
var divElm = document.createElement('div');
var scpt = document.createElement('script');
scpt.type = 'text/javascript';

var A = "100";

    var myfunc1 = function(d) {
            //LINES OF CODE
        }(document);

divElm.className = "ABC_" + A;
divElm.appendChild(scpt);
headtg.appendChild(divElm);

//Var declaration part
var decvar = 'var A = 10;'
scpt.appendChild(document.createTextNode(decvar));
    
scpt.innerHTML = myfunc1;
&#13;
&#13;
&#13;

但是该函数不会出现在脚本块中并且未定义。

请帮忙

3 个答案:

答案 0 :(得分:1)

我不确定你想问什么,但我认为你的直接功能在语法上是不正确的,它写得像这样

(function(param){
    //Do something
})(passed_param);

答案 1 :(得分:0)

这是一个如何将jquery脚本附加到我偶尔使用的html页面顶部的示例。而不是注入jquery脚本注入你的javascript。

var jq = document.createElement('script');
jq.src = 
"https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
setTimeout(function(){ 
    console.log("Hey jquery");
}, 1000);

答案 2 :(得分:0)

就我的代码而言,您尝试添加到innerHTML标记的script不是字符串,而是一个函数对象。您应该将其更改为&#34; &#34;

编辑: 此外,当您设置tag.innerHTML = "something"时,将替换所有标记内容。在您的情况下,您可能希望添加它,所以tag.innerHTML += "something"