9

ページで次のHTMLを使用しています。

<ul id="tabnav">

        <li id="tab_a" class="tab1"><a href="tab1.htm">Tab a</a></li>
        <li id="tab_b" class="tab2"><a href="tab2.htm">Tab b</a></li>
        <li id="tab_c" class="tab3"><a href="tab3.htm">Tab c</a></li>
    </ul>

私がやろうとしているのは、javascriptを使用して3番目のタブをクリックできないようにし、後で3番目のタブをクリックできるようにすることです。

そこで、JavaScript関数で次のJavaScriptを使用してみました。

document.getElementById("tab_c").style.enabled = false;

しかし、それはうまくいかなかったようです。

クリックできないように無効にすることを期待していました。

私は何か間違ったことをしていますか?

4

3 に答える 3

28
//css
.disabled{
    pointer-events:none;
    opacity:0.4;
}
// jqvery
$("li a").addClass('disabled');
// remove .disabled when you are done
于 2014-09-10T22:56:42.463 に答える
13

falseを返すリンクにonclickハンドラーを追加できます。

document.getElementById("tab_c").childNodes[0].onclick = function() {return false;};​

ちょうど最初の子を選択します。childNodes[0]この場合は、<a>

例: http: //jsfiddle.net/zYSeF/

于 2012-10-22T03:51:56.037 に答える
5

jQueryライブラリを使用すると、次のようなことができます。

$('a').on('click', function() {
    return !$(this).attr('disabled');
});

無効に切り替えるには、これを行うだけです。

$('#tab_c a').attr('disabled', true); //add
$('#tab_c a').removeAttr('disabled'); //remove

jQuery

于 2012-10-22T03:59:30.993 に答える