Перейти по ссылке на нажатие кнопки - 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="до текущего URL. Как я могу сделать это возможным?

5 ответов

Решение
$('.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.

$('.button1').click(function() {
   document.location.href='/index.php?id=' + $(this).attr('id');
});

Вам необходимо указать домен:

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

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

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

Вы можете получить текущий URL с window.location.href но я думаю, что вам понадобится плагин jQuery для обработки строки запроса: http://plugins.jquery.com/project/query-object

Другие вопросы по тегам