2012-08-10 1 views
0

Как отключить гиперссылку на основе состоянияКак отключить гиперссылку на основе состояния через Javascript

var mydiv = document.getElementById("myDiv");  
var aTag = document.createElement('a');  
aTag.setAttribute('href',"yourlink.htm");   
aTag.innerHTML = "link text";  
mydiv.innerHTML="";  
mydiv.innerHTML=aTag; 

сказать мне нужно отключить мой Atag здесь.

на основе зарегистрированного пользователя мне нужно отключить или включить ..

+1

Основываясь на каком состоянии? –

+0

Из UX POV пользователи вряд ли используются для отключенных ссылок, поэтому я бы рекомендовал против этого. Если вам что-то нужно отключить, скорее всего, это была кнопка. –

ответ

1

Это должно работать

if(condition) 
    disableLink(); 
else 
    showLink(); 



function disableLink() 
     { 

     document.getElementById('Link1').disabled=true; 
     document.getElementById('Link1').removeAttribute('href');  
     document.getElementById('Link1').style.textDecoration = 'none'; 
     document.getElementById('Link1').style.cursor = 'default'; 
     } 

     function showLink() 
     { 
      document.getElementById('Link1').disabled=false; 
     //assign href dynamically 
     document.getElementById('Link1').href = "somepage.html"; 
     document.getElementById("Link1").style.textDecoration = "underline"; 
     document.getElementById("Link1").style.cursor = "hand"; 
     } 
+0

Если я не ошибаюсь Link1 - это идентификатор гиперссылки справа? Но в примере кода, как показано выше, мне нужно отключить ссылку aTag. Я попробовал код, указанный выше, но это не повлияло. Пожалуйста, предложите. – pavan

+0

r u получение какой-либо ошибки ???? .. сделайте скрипку и отбросьте ссылку .. будет помогать u .... – thecodejack

+0

Не «назначить href динамически» немного расплывчато? Вы потеряете целевой URL-адрес при вызове removeAttribute, так как вы его получите в вызове showLink? Как его сохранить, прежде чем вытирать? Может быть лучший атрибут для использования, чем src, но он работал для меня: document.getElementById ('Link1'). Src = document.getElementById ('Link1'). Href; – DJDave

2

Вы можете отключить ссылку, установив отключенный атрибут (не действует на анкерных элементов, хотя она работает в некоторых случаях).

Испытательная установка для атрибута инвалидов на якорях: http://jsfiddle.net/TgjnM/

Предпочтительно, вы можете удалить ссылку в целом и заменить его на нем текст. Чтобы заменить ссылку на обычный текст, вы должны установить внутренний текстHTML mydiv в текст (таким образом удалив гиперссылку).

Если ссылку можно переключить вкл/выкл, рассмотрите элемент формы (а не гиперссылку), как @Oleg V. Волков предложил в комментариях. Если это одноразовое решение (т. Е. Оно не будет происходить несколько раз на странице), я бы заменил ссылку на текст.

на основе зарегистрированного пользователя, мне нужно отключить или включить ..

В этом случае я бы отобразить страницу по-другому на сервере, а не в веб-браузере.

Смежные вопросы