2010-06-11 1 views
1

1) У нас есть страница index.html с блоками:JQuery проверка ссылка

<body> 
<div id="action1">One</div> 
<div id="action2">Two</div> 
<div id="action3">Three</div> 
</body> 

2) CSS

body div { color: blue; } 
body div.current { font-weight: bold; color: red; } 

3) Другие страницы со ссылками на index.html и некоторой цели :

<a href="index.html#action1">Link to One</a><br/> 
<a href="index.html#action2">Link to Two</a><br/> 
<a href="index.html#action3">Link to Three</a><br/> 

Вопрос заключается в том как поймать целевой ток канала на странице index.html и дать дополнительный класс для целевого блока.

Если текущая ссылка на открытой странице index.html#action1, а затем добавить класс .current к <div id="action1">One</div> - станет <div id="action1" class="current">One</div>

index.html#action2 Если -><div id="action2" class="current">Two</div>

И так далее.

  • проверка # target
  • проверка id
  • если target = id addClass ("ток") для блока с id

Спасибо.

ответ

3

Вы можете сделать это:

$(function() { 
    if(location.hash) $(location.hash).addClass("current"); 
}); 

Это использует location's hash property (если есть), это было бы "#action1" как ID selector добавляет класс через .addClass(), короткий и простой :)

+0

hot удалить «#» из значения? – Happy

+0

@Happy - вам не захочется, если вы используете его как селектор, вы * хотите * этот префикс '#'. Если вам нужно значение для чего-то другого, просто вызовите 'location.hash.replace ('#', '')' –

+0

извините, это работает отлично. Благодаря :) – Happy