还是第一次看见有人用js动态添加sript标签的……

解决方案 »

  1.   

    我也是,不过想想也有市场,比如纯html的,想根据情况动态加载不同的js文件
      

  2.   

    function Toggle2(divid, keyid, imgExpand, imgCollapse, bExpand) 
    {
    try{
    div=document.getElementById(divid); // divid = "abc"
    key=document.getElementById(keyid); // keyid = "xabc"
    if (bExpand) {
    div.style.display="block";
    if (key) key.innerHTML="<img src='"+imgCollapse+"' width='16' height='16' hspace='0' vspace='0' border='0'>";

    else {
    div.style.display="none";
    if (key) key.innerHTML="<img src='"+imgExpand+"' width='16' height='16' hspace='0' vspace='0' border='0'>";
    }
    }
    catch(e){
    alert(e);
    }
    }
      

  3.   

    试验了一下,楼主存在2个错误
    1、SCRIPT必须大写;
    2、没有append到document中测试成功的代码:
    var fileref=document.createElement('SCRIPT');//创建标签 
    fileref.setAttribute("type","text/javascript");//定义属性type的值为text/javascript 
    fileref.setAttribute("id","swt1"); 
    fileref.setAttribute("src", "k.js");//文件的地址 
    document.appendChild(fileref);
      

  4.   


    alert("document.getElementById("swt1").outerHTML")
    你这个明显有语法错误,不可能得到什么值吧alert(document.getElementById("swt1").outerHTML);
      

  5.   

    重新测试发现有问题,修改了一下,测试成功:
    <html>
    <head><title></title></head>
    <body>
    <div id="d1"></div>
    <script type="text/javascript" id="a1">
    var fileref=document.createElement('SCRIPT');//创建标签 
    fileref.setAttribute("type","text/javascript");//定义属性type的值为text/javascript 
    fileref.setAttribute("id","swt1"); 
    fileref.setAttribute("src", "k.js");//文件的地址 
    document.getElementById("d1").appendChild(fileref);
    </script>
    <script type="text/javascript" id="a2">
    var aa = document.getElementById("swt1");
    alert(aa.outerHTML);// 这里只会弹出<SCRIPT id=swt1 type=text/javascript src="k.js"></SCRIPT>
    </script>
    </body>
    </html>