簡體   English   中英

如何在ajax所在的元素上使用Jquery的removeClass?

[英]How can I use Jquery's removeClass on an element that is ajax'd in?

我只是想在通過Ajax引入的元素上使用Jquery的removeClass()。 我很清楚能夠使用.live()進行“點擊”之類的操作,但是對於removeClass()之類的功能該怎么辦?

注意:我聽說過可以做到這一點的JQuery插件,但是如果它不是殘酷的話,我寧願自己使用Jquery對其進行編程。

謝謝,

丹尼爾·莫尼茲(Daniel Moniz)

編輯:很抱歉缺少信息。 我正在構建自動完成工具。 用戶按下一個鍵並獲得通過AJAX提取的項目列表。 第一項自動突出顯示,因為(在AJAX回調中)我使用.addClass()為其賦予了“突出顯示”類。

但是,如果用戶按下向上或向下箭頭鍵,則他們應該能夠在列表中“導航”。 我突出顯示(並取消突出顯示)列表中的項目。 按下按鈕即可執行這些操作,並且列表已通過AJAX提取。 因此,我無法在Ajax回調中刪除該類。

$(".highlight")將有效地獲取當前突出顯示的元素。

highlightedTopic.removeClass("highlight")

執行上面的代碼后,然后使用console.log($(".highlight")); ,我得到了帶有 'highlight'類的元素的輸出。 因此removeClass()函數失敗(沒有錯誤)。

假設列表中的所有項目都具有“ listItem”類,並且第一個項目也具有“ highlight”類,例如文本,文本,文本

然后在您的JS中嘗試

$(".highlight").live("keyup",function(e){
  if(e.keyCode==38)//up key 
  {
   $(this).removeClass("highlight");
   $(this).prev(".listItem").addClass("highlight");
   }
  else if(e.keyCode==40)//down key
  {
   $(this).removeClass("highlight");
   $(this).next(".listItem").addClass("highlight");

   } 
});

在AJAX加載程序上的成功回調中removeClass 如果您發布了代碼,將更容易演示,但是例如:

$("some element").load("someurl", function () { $("#awsmsauce").removeClass("satin shoes"); });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM