2017-07-26 10 views
-1

JavascriptでそのIDを使用してリンクを無効にしたいとします。デフォルトでは以下のように表示されません。私は特定のIDがバックエンドから来たときにリンクを有効にします。cssでボタンを無効にする方法

HTML

<li id="viewroleId" style="display: none;"> 
    <a href="viewrole"><spring:message code="label.viewrole" /></a> 
</li> 

Javascriptを: - 上記のJavaScriptコードで

if (key == 1) { 
    var id = value; 
    var div = document.getElementById(id); 

    if(div != null){ 
     if (div.style.display == 'none' || div.style.display == '') { 
      // Here it will display the link 
      div.style.display = 'block'; 
     } 
    } 
} 

私はリンクが表示されますが、私はリンクを表示し、無効にしたいです。 CSSを使用してリンクを無効にするにはどうすればよいですか?

+5

[ngDisabled](https://docs.angularjs.org/api/ng/directive/ngDisabled)をご覧ください。 – Kevin

+1

アトリビュートとしてdisabledを追加しないのはなぜですか? - 勧告としても - インラインCSSまたはjsを実行しないでください - 維持管理が難しいコードにつながる悪い習慣です – ThisGuyHasTwoThumbs

+0

ng-disabledを維持すると、無効化されたhrefごとに異なる名前を付ける必要があります。今度はIDがDBから来ているので、私はそれをIDで表示することができます。 – Murali

答えて

-1

まず、ちょうどあなたがそう

if (key == 1) { 
    var id = value; 
    var div = document.getElementById(id); 

    if(div != null){ 
     if (div.className.indexOf('disabled') === -1) { 
      // Your element will be visible, and disabled 
      div.className += ' disabled'; 
     } 
    } 
} 
+0

ダミーここではclassNameの意味は – Murali

+0

'className'は、それぞれの' class'属性を操作するためのプロパティです。 HTMLElement' – Dummy

+0

私はdiv.classNameを取得しています ""(空) – Murali

0

のようなクラスdisabledを無効にしたい要素を与え、CSSあなたのJavaScriptで今

.disabled { 
    display: block !important; /* since you set the element's display to none inline, 
            we need to use !important flag (which is pretty bad) 
            to override the inline style */ 
    pointer-events: none; /* Disable an element interaction, so it will not respond any event */ 
    color: #ccc; /* Gray out the text color to signify being disabled */ 
} 

に、このようなルールを作成してアプリを基にしている場合on角度使用の場合、これは「自然な方法」です

<a ng-if="true" href="yourlink.html">Link<a/> 
<a ng-if="!true" href="#">Link<a/> 

ブラウザのネイティブ実装(リンク...)を上書きしようとする。

関連する問題