2010-02-26 1 views
2

У меня есть якорный тег, который я хотел бы отключить или включить в зависимости от некоторого состояния. Я могу для того чтобы достигнуть этого с помощью следующей функции:Отключить привязывающий тег и удалить подчеркивание также в javascript

function disableEnableAnchor(obj, disable) { 
    if(disable) { 
     var href = obj.getAttribute("href"); 
     if(href && href != "" && href != null) 
      obj.setAttribute('href_bak', href); 
     obj.removeAttribute('href');   
    } else { 
     var href_bak = obj.attributes['href_bak'].nodeValue;   
     obj.setAttribute('href', href_bak); 
    } 
} 

Но я не в состоянии удалить подчеркивание, когда якорь находится в отключенном состоянии. Как я могу достичь этого внутри этой функции?

+0

Почему спросил вики? – spender

ответ

1

Это звучит как проблема с таблицей стилей. Есть что-то вроде

a { 
    text-decoration: underline; 
} 

в файле CSS, который применяется к странице?

Замена его следующим CSS должна сделать отметки <a> только подчеркнутыми, если у них есть атрибут href.

a:link, 
a:visited, 
a:hover, 
a:active { 
    text-decoration: underline; 
} 
3
obj.style.textDecoration = "none" 
+0

это не сработает, так как это приведет к тому, что obj потеряет уже установленное текстовое оформление, как отключенное и высевающее. –

2

Возможно, вы захотите заменить якорь на пролет.

+0

Я хочу, чтобы после того, как привязка отключена, i.e не содержит атрибут «href», а атрибут «disabled» равен true, подчеркивание не должно появляться. как я должен это делать? –

0

Используйте это на HTML:

<a href="mylink" style="text-decoration 
Смежные вопросы