这是我的代码。我想从标记<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");
}
};
}
答案 0 :(得分:1)
您可以尝试这样做吗?您在<script>
$(function(){
$("p").each(function(index){
console.log(index);
if(index==1){
$(this).removeClass('test2');
}
});
});
答案 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();
它将返回分配给元素的类的集合。
答案 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;
});
?>