所以我试图使用javascript在头文件中创建一个内部样式表,但它不起作用。这个脚本的要点是突出显示我所在页面的选项卡。
下面不是我正在实现它的实际站点,只是测试-但它不能正常工作。这可能吗?是的,我知道我可以用内联的css或其他东西,但这将是必须更加混乱!

<html>
<head>
<title>Test</title>
<script type="text/javascript">
function parseUrl( url ) {
    var a = document.createElement('a');
    a.href = url;
    return a;
}

var page=parseUrl('').search

function getSecondPart(str) {
    return str.split('=')[1];
}

var site=getSecondPart(page));

text.innerHTML('<style type="text/css">
."nav_"' + page + '" {background-color:red;} {color=green;} </style>')

}
</style>"

</script>
</head>
<body>
<ul>
<li class="nav_home"><a href="testtest.html?site=home">Home</a>
<li class="nav_forum"><a href="testtest.html?site=forum"/>Forum</a>
<li class="nav_help"><a href="testtest.html?site=help"/>Help</a>
<li class="nav_roster"><a href="testtest.html?site=roster"/>Roster<a/>
</body>
</html>

最佳答案

parseURL返回一个DOM元素。
page = parseUrl('').search如果返回一个字符串,则会返回字符串方法parseUrl(''),这本身并不十分有用。
search有一个额外的圆括号。
var site=getSecondPart(page));未定义。
text这样的类不是有效的类。
你有一个额外的右大括号。
所有这些错误都会阻止代码运行。Chrome的Web开发人员、Firefox的Firebug或JSHint是确保语法错误不会发生的好工具。
完成后,执行以下操作:

var style = document.createElement("style");
style.innerHTML = ".nav_" + page + " { background-color: red; color: green; }";
document.body.appendChild(style);

09-13 03:41