通过JS在HTML页面代码中插入CSS链接的HTML

时间:2014-06-02 13:04:25

标签: javascript html css

我无法访问页面的HTML(它们是动态编程的)。 我可以访问它链接到的JS页面。

例如,我可以做这样的事情并且有效:

window.onload=function(){
    var output = document.getElementById('main_co');
    var i=1;
    var val="";

  while(i<=1)
    {  if(!document.getElementById('timedrpact01'+i))
        {
            var ele = document.createElement("div");  ele.setAttribute("id","timedrpact01"+i);
            ele.setAttribute("class","inner");

            ele.innerHTML=" Hi there!" ;

            output.appendChild(ele);

我想使用这个基础插入一个按钮,允许从一个CSS集(有多个调用的文件)切换到另一个_another路径。

非常感谢

2 个答案:

答案 0 :(得分:0)

外部样式表使用link引用,如:

<link rel="stylesheet" href="http://example.com/path-to-css">

因此,请使用以下方法获取相应的link元素:

var css = document.getElementsByTagName("link")[0];

在这里,我们通过指定link索引获得了第一个[0]

然后,覆盖href属性以将其指向新路径。

css.setAttribute("href", "http://example.com/path-to-css");

答案 1 :(得分:0)

 window.onload=function(){
    var output = document.getElementById('main_co');
    var i=1;
    var val="";
    //switch all the href's to another path
    var switchStyleSheet = function() {
      var links = document.getElementsByTagName("link");
      for(var i=0; lkC = links.length; i < lkC; i++)
         links[0].href = links[0].href.replace('path_to_file', '_path_to_file');
    };

   while(i<=1) //while is not required here, if i is 1
   {  
      if(!document.getElementById('timedrpact01'+i)) {
        var ele = document.createElement("div");  ele.setAttribute("id","timedrpact01"+i);
        ele.setAttribute("class","inner");
        ele.innerHTML=" Hi there!" ;
        var button = document.createElement('button');

        if(button.addEventListener) {
          button.addEventListener('click', switchStyleSheet);
        }
        else { 
          button.attachEvent('click', switchStyleSheet);
        }

        output.appendChild(button);
        output.appendChild(ele);
      }
   }
 }