要素のクラスを設定した後、JavaScript で要素のクラスを変更したいと思い、jQuery の attr を使用して class 属性を変更しようとしましたが、うまくいきませんでした。
html:
js:
リーリー某草草2017-05-18 10:49:55
仮説の要素
リーリーこのように変更できます
リーリー実証済み。
jQuerydocument.getElementById('idValue')
改成$('#idValue')
それを入れるだけ
黄舟2017-05-18 10:49:55
HTML:
リーリーJS:
リーリー不合格attr
,而是通过className
追記:
属性 disabled
を li
に追加したい場合は、 class
ではなく attr を追加することでこれを行うことができます。
:li
添加属性disabled
可以这样做,不是添加class
而是attr
:$('#prevBTN').attr('disabled', true);
$('#prevBTN').attr('disabled', true);
属性を削除:
リーリーオプション 1: a タグは無効属性をサポートしていないため、a タグを button タグに置き換えることができます: http://www.w3school.com.cn/ti...
オプション 2 : 使用 a タグも使用できます。href 属性を削除すると、クリック不可の効果を実現できます。つまり、$('#prevBTN').removeAttr('href');
参考: 次のコードを取得して、これで実行します
怪我咯2017-05-18 10:49:55
元の投稿者のコードは何ですか?
attr() を直接使用してクラスを設定してもよいのはなぜですか?
さらに、jQueryにはaddClass()とremoveClassという2つのメソッドもあり、通常はこの2つのメソッドを使用してクラスを操作します。
淡淡烟草味2017-05-18 10:49:55
@daryl と @tony_yin の熱心な回答に感謝します。私もそれを使用したいです。<li>
标签里面的 <a>
换成 <button>
,能实现禁用按钮效果,但是 .pager
的 BootStrap 默认样式会变化;
将<li class="previous" id='prevBTN'>
换成 <li class="previous disabled" id='prevBTN'>
使用 document.getElementById('prevBTN').className='previous disabled';
确实可行,但使用 jQuery 时会出现问题,$('prevBTN').className='previous disabled';
就不能实现,主要原因是 $('prevBTN')
并不能得到 DOM 元素,而 className 是 DOM 里面的属性,$(selector)
セレクターの条件を満たす DOM 要素のコレクションのみを取得できます。
jQuery() (または $()) を引数として ID セレクターを指定すると、0 個または 1 個の DOM 要素のコレクションを含む jQuery オブジェクトが返されます。解決策:
$('prevBTN').get(0).className='previous disabled';