如何使用jquery和第二个类名删除动态类名?

时间:2014-01-29 08:36:17

标签: jquery class

这是我的代码。我想从标记<p>&lt; =&gt;中删除类名$i=2。在上面的代码中,它从所有<p>标记中删除了类名“test2”。如果具有2个类名,如何从特定标记中删除类名。 THX?

     <p class="test1 test2">text</p>
        <p class="test1 test2">text2</p>
        <p class="test1 test2">text3</p>
        <p class="test1 test2">text4</p>
        <p class="test1 test2">text5</p>
<script type="text/javascript"> 
function test(){
    for (var i = 1; i <= 5; i++) {
        if  (i ==2 ){
              $(".test1" ).removeClass("test2");
        }
    };
}

6 个答案:

答案 0 :(得分:1)

您可以尝试这样做吗?您在<script>

中包含以下内容
$(function(){
$("p").each(function(index){    
   console.log(index); 
   if(index==1){
      $(this).removeClass('test2');
    }
  });    
});

演示: http://jsfiddle.net/D5JwH/1/

答案 1 :(得分:1)

待办事项

   $(".test1:eq(1)" ).removeClass("test2");

答案 2 :(得分:0)

尝试类似

的内容
$("p").removeClass().addClass("test2");

它的作用就是删除两个类并添加你想要保留的类

答案 3 :(得分:0)

在那里,我为你修好了:

<p class="test1 test2">text</p>
<p class="test1 test2">text2</p>
<p class="test1 test2">text3</p>
<p class="test1 test2">text4</p>
<p class="test1 test2">text5</p>
<script type="text/javascript">
    $(".test1:nth-child(2)" ).removeClass("test2");
</script>

出了什么问题,你是否曾试图像运行PHP那样运行js代码

Javascript必须包含在<script> html标记中,并在浏览器收到它时执行

此外,循环中的代码意味着:'使用类test1获取所有元素并从中删除类test2',因此无论代码执行的循环的哪个部分,所有{{1 }}元素将失去它们的.test1类。

jquery的.test2部分意味着'获取所有:nth-child(2)个元素,但前提是它们是父元素的第二个子元素。

答案 4 :(得分:0)

您可以编写以下脚本:

;!(function ($) {
$.fn.classes = function (callback) {
    var classes = [];
    $.each(this, function (i, v) {
        var splitClassName = v.className.split(/\s+/);
        for (var j in splitClassName) {
            var className = splitClassName[j];
            if (-1 === classes.indexOf(className)) {
                classes.push(className);
            }
        }
    });
    if ('function' === typeof callback) {
        for (var i in classes) {
            callback(classes[i]);
        }
    }
    return classes;
};
})(jQuery);

然后使用它

$('div').classes();

它将返回分配给元素的类的集合。

source

答案 5 :(得分:0)

<p class="test1 test2">text</p>
<p class="test1 test2">text2</p>
<p class="test1 test2">text3</p>
<p class="test1 test2">text4</p>
<p class="test1 test2">text5</p>
<?php
var i=1;
$('p').each(function(index){
if (index == 2){
           $(this ).removeClass("test2");
      }
i=i+1;
}); 
?>