2014-09-16 3 views
0

Итак, у меня есть несколько элементов (td с таблицы). Я хочу изменить их стиль на основе URL-адреса, который вы сейчас используете. Имея следующие страницы:Измените имя класса элемента на основе URL-адреса

http:\\domain\site\welcome.html 
http:\\domain\site\press.html 
http:\\domain\site\contact.html 

Существует общая часть, а table и мне нужно изменить стиль td с.

HTML:

<table> 
    <tr> 
     <td id="welcome" class="default">Welcome</td> 
     <td id="press" class="default">Press</td> 
     <td id="contact" class="default">Contact</td> 
    </tr> 
</table> 

CSS:

.default { 
//settings 
} 
.current { 
//settings 
} 

Так в основном, если URL содержит строку welcome, то мне нужно class из td, имеющего id=welcome быть current. Я попробовал ниже, но ничего не делает.

<script src="jquery-1.4.2.min.js"> 
$(document).ready(
    function() { 
    if (document.URL.indexOf("welcome") > -1) 
    { 
     document.getElementById("welcome").className = "current"; 
    } 
    else if (document.URL.indexOf("press") > -1) 
    { 
     document.getElementById("press").className = "current"; 
    } 
    else if (document.URL.indexOf("contact") > -1) 
    { 
     document.getElementById("contact").className = "current"; 
    } 
}); 
</script> 
+0

Потому что мне нужно только это. Остальные должны оставаться дефолтными. – fishmong3r

ответ

2

попробовать, как этот

<script type="text/javascript" src="jquery-1.4.2.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(
    function() { 
if (document.URL.indexOf("welcome") > -1) 
{ 
    document.getElementById("welcome").className = "current"; 
} 
else if (document.URL.indexOf("press") > -1) 
{ 
    document.getElementById("press").className = "current"; 
} 
else if (document.URL.indexOf("contact") > -1) 
{ 
    document.getElementById("contact").className = "current"; 
}}); 
</script> 
+0

OMG, он работает. Большое спасибо. – fishmong3r

0

Вы передаете src в <script> поэтому код игнорируется. изменить его к этому:

<script src="jquery-1.4.2.min.js"></script> 
<script type="text/javascript"> 
    /* rest of code */ 
</script> 
0
// Add jquery lib and add below code after html in script tag 
var pathname = window.location.pathname; 
function getPageName(url) { 
var index = url.lastIndexOf("/") + 1; 
var filenameWithExtension = url.substr(index); 
var filename = filenameWithExtension.split(".")[0]; 
return filename;          
} 
var a = getPageName(pathname); $("#"+a).addClass("current"); 
Смежные вопросы