2011-02-09 3 views
25

У меня есть сценарий, как показано нижеперейти по ссылке нажатия кнопки - JQuery

$('.button1').click(function() { 
    document.location.href=$(this).attr('id'); 
}); 

button1 имеет переменные уникальные идентификаторы. при щелчке, страница должна перенаправить на url «www.example.com/index.php?id=buttonid», но теперь страница перенаправляется только на «button id».

Я хочу добавить строку «www.example.com/index.php?id=» перед текущим адресом. Как я могу сделать это возможным?

ответ

55
$('.button1').click(function() { 
    window.location = "www.example.com/index.php?id=" + this.id; 
}); 

Прежде всего, используя window.location, лучше, так как согласно спецификации document.location значение было доступно только для чтения и могло вызвать головную боль в старых/разных браузерах. Проверьте заметки @MDC DOM document.location page

А для второго - с помощью attr метод JQuery, чтобы получить идентификатор плохая практика - вы должны использовать прямой родной DOM аксессор this.id как значение, присвоенное this является нормальным DOM элемент.

+0

Большое спасибо моему другу ... :) –

+0

+1 за то, что первым предложили window.location и this.id, я пошел с моим ответом быстро без них;) – Sarfraz

+0

@ Sarfraz cheers lad ! –

2

Почему бы не просто изменить вторую строку в

document.location.href="www.example.com/index.php?id=" + $(this).attr('id'); 
+0

Спасибо ... это работает .. :) –

+0

@blasteralfred Проверьте мой ответ еще несколько советов и хорошую практику –

4

Вам нужно указать домен:

$('.button1').click(function() { 
    window.location = 'www.example.com/index.php?id=' + this.id; 
}); 
+0

Спасибо ... это работает .. :) –

+0

@blasteralfred: Welcome :) – Sarfraz

+0

HREF ненужно и смотреть на мой ответ, чтобы посмотреть больше информации о том, что могло бы быть сделано лучше –

5
$('.button1').click(function() { 
    document.location.href='/index.php?id=' + $(this).attr('id'); 
}); 
Смежные вопросы