Изменение атрибута href не работает в jQuery Mobile - PullRequest
0 голосов
/ 11 апреля 2011

Я хотел бы изменить href с помощью jQuery Mobile, я попробовал несколько примеров кода, таких как:

$("a[href='http://www.google.com/']").attr('href', 'http://www.live.com/');
<li><a data-ajax="false" href="http://www.google.com" >Navigate</a></li>

и

$("#address").append("href", "http://cupcream.com");
<li><a data-ajax="false" id="address" href="http://www.google.com" >Navigate</a></li>

Но ничего не происходит.

Что может быть не так, разве это не ошибка в jQuery Mobile?

Ответы [ 4 ]

1 голос
/ 22 апреля 2015

Если у вас нет data-ajax="false", ссылка не будет изменяемой через функцию jquery attr. Я вижу, что у вас есть, но я упоминаю это для будущих поисков.

Как только вы это сделаете, вы можете изменить ссылку следующим образом: $ ('a [href =' http://www.google.com/']').attr('href', 'http://www.live.com/');

Я предлагаю убедиться, что ваш селектор работает должным образом, выполнив команду 'hide ()' и в тестовом примере.

1 голос
/ 12 мая 2013

Вам необходимо добавить к вашему элементу "a" атрибут rel="external" или data-ajax="false", чтобы ссылки не могли управляться через Ajax. Официальная документация здесь .

Также посмотрите на JQuery Mobile History на data-ajax = false

1 голос
/ 20 сентября 2013

Изменение только href attibute у меня не сработало. Мне пришлось изменить и текст, и атрибут href, и это сработало просто отлично. Протестировано на Chrome, Firefox и IE10.

$('#campuslink').text('http://www.google.com');

$('#campuslink').attr('href','http://www.google.com');

Это исправило проблему для меня.

0 голосов
/ 11 апреля 2011

Использовать .attr() метод, а не .append()

$("#address").attr("href", "http://cupcream.com");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...