2017-05-08 99 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();  
      }); 
     }