[英]jQuery addClass() / removeClass() not working
<ul>
<li class="selected"></li>
<li></li>
<li></li>
</ul>
那是我的html。 我現在使用的選擇器是:
$("ul li:eq(0)").removeClass('selected');
$("ul li:eq(1)").addClass('selected');
問題是我無法從這些元素中添加或刪除“選定”類。 html和jquery都非常簡單,我可以找到的所有示例都以相同的方式完成了所有操作,包括官方jQuery文檔。 (如果需要的話,腳本會在body標簽之前加載)
為什么不能刪除和添加這樣的類?
整個html頁面在這里
可能是因為您忘記添加$(document).ready()
,還請確保已添加jquery.min.js文件
$(document).ready( function () {
$("ul li:eq(0)").removeClass('selected');
$("ul li:eq(1)").addClass('selected');
});
該代碼看起來正確,問題必須出在其他地方。 如何進行調試:
查看選擇器匹配多少個元素:
console.log($("ul li:eq(1)").length);
如果看到0,則選擇器不匹配任何內容。
匹配哪個元素?
console.log($("ul li:eq(1)")[0]);
大多數瀏覽器都允許檢查控制台中的元素。
一個典型的問題是您的代碼在元素存在之前就已執行。 在簡單的情況下,您只需要在DOM准備好后運行代碼:
$(function () {
...DOM is now ready...
});
但是有時,其他腳本會創建元素。 如果您是這種情況,則需要告訴我們您用於構建/操作DOM的框架和腳本。
有關:
$("ul li:eq(0)").removeClass('selected');
$("ul li:eq(1)").addClass('selected');
為我工作( http://jsfiddle.net/orlando/rhtqA/ )
但是,是的,您需要等到DOM准備使用jquery進行操作時
$(function () {
$("ul li:eq(0)").removeClass('selected');
$("ul li:eq(1)").addClass('selected');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.