2017-05-08 93 views
0

我想用jquery替換span標記的類。有人可以告訴我問題是什麼。當我通過瀏覽器工具更改它時,它工作正常。沒能獲得是通過jQuery工作使用jquery替換span標記的類

if ($('#RequestID').val().length <= 0) { 

      $(".newRequestDetail > ul > li > a.span").removeClass('.k-icon k-panelbar-expand k-i-arrow-s').addClass('.k-icon k-panelbar-expand k-i-lock'); 

      var panelbar = $("#panelBar").data('kendoPanelBar'); 
      panelbar.bind('select', function (e) { 
       panelbar.clearSelection(); 


      }); 
     } 

CSS

enter image description here

+0

a.span手段類別爲「span」的錨,請嘗試$(「。newRequestDetail> ul> li> a> span」) – ezanker

+0

感謝它的工作。愚蠢的錯誤 – Tom

回答

0

您需要的「a」選擇和「.span」選擇器之間加空格,因爲它們不共享相同的HTML標籤。

$(".newRequestDetail > ul > li > a. span").removeClass('.k-icon k-panelbar-expand k-i-arrow-s').addClass('.k-icon k-panelbar-expand k-i-lock'); 
+0

由ezanker建議的作品。不是你的。 – Tom

0

一個更簡潔的方法是使用:

$("a.k-link > span").removeClass('k-i-arrow-s').addClass('k-i-lock');

有了這個,你要專門與k-link類針對<a>標籤,我已經刪除了額外的類去除/添加作爲看起來像你正在刪除,然後添加相同的類(k-icon k-panelbar-expand),當你只需要刪除k-i-arrow-s,然後添加k-i-lock

0

您的代碼存在一些問題。

  • 的選擇$(".newRequestDetail > ul > li > a.span")需要改變,以$(".newRequestDetail > ul > li > a span")
  • 前點k-icon需要走開既爲removeClassaddClass

請試試這個:

if ($('#RequestID').val().length <= 0) { 

      $(".newRequestDetail > ul > li > a span").removeClass('k-icon k-panelbar-expand k-i-arrow-s').addClass('k-icon k-panelbar-expand k-i-lock'); 

      var panelbar = $("#panelBar").data('kendoPanelBar'); 
      panelbar.bind('select', function (e) { 
       panelbar.clearSelection();  
      }); 
     }