改进我的Javascript代码:在页面导航栏中设置链接样式
一个javascript+DOM问题 有人能改进我的代码吗 我有这样一个页面导航栏(在某些页面上):改进我的Javascript代码:在页面导航栏中设置链接样式,javascript,Javascript,一个javascript+DOM问题 有人能改进我的代码吗 我有这样一个页面导航栏(在某些页面上): 我希望我的javascript更改链接样式,以便突出显示当前页面的样式 我的javascript代码如下所示。它找到当前页面的url,然后尝试将其与链接标记之一匹配。如果匹配,则设置样式 function setPageBarStyle() { var pageNavBar = document.getElementById("pagebar"); if (pageNavB
我希望我的javascript更改链接样式,以便突出显示当前页面的样式
我的javascript代码如下所示。它找到当前页面的url,然后尝试将其与链接标记之一匹配。如果匹配,则设置样式
function setPageBarStyle() {
var pageNavBar = document.getElementById("pagebar");
if (pageNavBar != null) {
var fPath = document.location.pathname;
var fPathParts = fPath.split('/');
var fName = (fPathParts[fPathParts.length-1]); // file name after last slash. e.g. xyz.html
var linkTags = pageNavBar.getElementsByTagName("a");
for (var ii = 0; ii < linkTags.length; ii++) {
var aUrl = linkTags[ii].href;
var aUrlParts = aUrl.split("/");
var aUrlLastPart = (aUrlParts[aUrlParts.length-1]); // part after last slash. e.g. xyz.html
if (aUrlLastPart == fName) {
linkTags[ii].style.border="thin solid blue";
}
}
}
}
setPageBarStyle();
函数setPageBarStyle(){
var pageNavBar=document.getElementById(“pagebar”);
如果(pageNavBar!=null){
var fPath=document.location.pathname;
var fPathParts=fPath.split('/');
var fName=(fPathParts[fPathParts.length-1]);//最后一个斜杠后的文件名。例如xyz.html
var linkTags=pageNavBar.getElementsByTagName(“a”);
对于(var ii=0;ii
如何改进代码?我不熟悉DOM脚本
我分割路径的方式似乎太冗长,有很多变量。我认为可以用正则表达式完成,但不知道如何使用javascript/DOM
谢谢。您可以更改此选项:
var aUrl = linkTags[ii].href;
var aUrlParts = aUrl.split("/");
var aUrlLastPart = (aUrlParts[aUrlParts.length-1]); // part before last slash. e.g. xyz.html
为此:
var aUrlLastPart = linkTags[ii].href.split("/").pop();
Pop()方法将返回split()返回的数组的最后一个元素,并将其从数组中删除(在您的例子中,这是不相关的)
我还建议签出或类似,以便更轻松地管理跨浏览器JS
如果有帮助,请告诉我!:) 这消除了6个变量!谢谢没问题:)很乐意帮忙。。。
var aUrlLastPart = linkTags[ii].href.split("/").pop();