Saya menetapkan kelas elemen, dan sekarang saya mahu menukar kelas elemen melalui JavaScript saya mencuba attr jQuery untuk mengubah suai atribut kelas, tetapi ia tidak berfungsi.
html:
<nav>
<ul class="pager" id="pageCtr">
<li class="previous" id="prevBTN">
<a href="#" onclick="prevPage()"><span>←</span>前一页</a>
</li>
</ul>
</nav>
js:
$('#prevBTN').className='previous disabled';
Unsur hipotesis
Anda boleh mengubahnya seperti ini
Dicuba dan diuji.
jQuery hanya
document.getElementById('idValue')
改成$('#idValue')
dan sudah sediaHTML:
JS:
Bukan melalui
attr
, tetapi melaluiclassName
attr
,而是通过className
PS:
如果你想为
li
添加属性disabled
可以这样做,不是添加class
而是attr
:$('#prevBTN').attr('disabled', true);
去除attr:
Alih keluar attr: #🎜🎜#Apakah kod poster asal?
Mengapa saya boleh menggunakan attr() terus untuk menetapkan kelas?
Selain itu, jQuery juga mempunyai dua kaedah: addClass() dan removeClass Saya biasanya menggunakan dua kaedah ini untuk mengendalikan kelas.
jQuery mempunyai kaedah khas untuk kelas pengendalian, anda boleh menyemak API yang berkaitan
Terima kasih kepada @daryl dan @tony_yin atas jawapan mereka yang bersemangat, saya mahu menggunakannya sendiri. dengan
<butang>
boleh mencapai kesan melumpuhkan butang, tetapi gaya lalai BootStrap.pager
akan berubahubah
<li class= "previous" id=' prevBTN'>
Gantikan dengan<li class="previous disabled" id='prevBTN'>
Gunakandocument.getElementById('prevBTN' ).className='previous disabled';
sememangnya boleh dilaksanakan, tetapi akan ada masalah apabila menggunakan jQuery$('prevBTN').className='previous disabled';
tidak boleh dilaksanakan. . Sebab utama ialah$ ('prevBTN')
tidak boleh mendapatkan elemen DOM dan className ialah atribut dalam DOM$(selector)
hanya boleh mendapatkan set Elemen DOM yang memenuhi syarat pemilih,<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 元素集合,解决方法:
#🎜🎜#Penyelesaian:$('prevBTN').get(0).className='previous disabled';