动态更改CSS类名

时间:2013-10-23 10:15:42

标签: javascript jquery css

我需要更改页面中具有特定类名(.k-textbox)的所有元素的CSS类名。我尝试了下面的代码,但它没有在.each()函数内部命中

<script>
    $(document).ready(function () {    
        $(".k-textbox").each(function () {
            //alert("a");
            $(this).removeClass("k-textbox");
            $(this).addClass("input-medium");
        });
    });
    </script> 

在页面中我有第三方网格控件。我提到的CSS类是在第三方网格控件中。

下面是DOM对象:

enter image description here

2 个答案:

答案 0 :(得分:6)

您应该尝试使用jQuery库提供的链接API:

$(".k-textbox").removeClass("k-textbox").addClass("input-medium");

修改

只要动态创建元素,您就可以尝试在创建这些元素后运行此代码。但是如果你不知道它们何时插入到代码中并且无法控制它们,你可以尝试编写简单的watch函数,即:

var watchTimer = setInterval(function () {
      var inputs = $('.k-textbox');
      if (inputs.length) {
          // clear interval
          clearInterval(watchTimer);

          // change class
          inputs.removeClass("k-textbox").addClass("input-medium");
      }
    }, 100);

答案 1 :(得分:0)

使用 addClass() removeClass()

$(".k-textbox").removeClass("k-textbox").addClass("input-medium");