我想制作一个 javascript 文件(附加到某个网站),它生成可用的样式表,并在单击一个人的名字时更改所选样式表的当前样式表。我这样做:
for(var i=0;i<document.getElementsByTagName("link").length;i++)
{
var style = document.getElementsByTagName("link").item(i).href //getting name
//and here is my problem - I'd like to change that HTML code to js code, so that it generates a link wchich should change the style. I can't figure it out how to change that to js.
<a href="#" onclick="changeCSS(style, 0);">STYLE 3</a>
}
//这是改变样式表的函数(不是我的,但可以工作)
function changeCSS(cssFile, cssLinkIndex)
{
var oldlink = document.getElementsByTagName("link").item(cssLinkIndex);
var newlink = document.createElement("link")
newlink.setAttribute("rel", "stylesheet");
newlink.setAttribute("type", "text/css");
newlink.setAttribute("href", cssFile);
document.getElementsByTagName("head").item(0).replaceChild(newlink, oldlink);
}
您能否验证我的代码并帮助我将带有链接的 HTML 代码更改为 js 代码?
//编辑
很抱歉,但它仍然无法正常工作......我正在使用代码的 wchich 网站有 3 个样式表,但我没有得到任何结果。
for(var i=0;i<document.getElementsByTagName("link").length;i++)
{
var style = new String(document.getElementsByTagName("link").item(i).href));
var a = document.createElement("a"); //create an anchor
a.textContent = a.innerText = "Style "+i; // Set its text to Style+i
a.onclick = function(){ changeCSS(style,0)}; // When you click it, you call changeCSS
document.body.appendChild(a); // Append it to the body
}
我使用了你的代码,就像上面一样。