尝试删除 jquery 中的类失败
Attempt to removeClass in jquery fails
我正在尝试从此 HTML 代码中删除 类 div1
和 intro
。
片段示例:
$(function() {
$('div').on('click', function() {
alert("Hello");
$("div").removeClass("div1");
$("p").removeClass("intro");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div1">div 1</div>
<div class="div2">div 2</div>
<div class="div3">div 3</div>
<div class="div4">div 4</div>
<p class="intro">This is a paragraph.</p>
<p class="intro">This is another paragraph.</p>
现在,当我单击 div 时,我会收到问候提示,但 div1 和简介 类 不会被删除。关于我在这里可能遗漏的内容有什么建议吗?
更新:
我应该一直使用 remove 而不是 removeClass。
Fiddle sample.
看来问题是 remove and removeClass 之间的误会。 OP 想从 DOM 中删除一个元素,因此应该使用 remove()
,而不是想使用 removeClass()
删除 class
您正在选择 p
元素并尝试删除 div
上的 div1
和 div2
类:
$(function() {
$('div').on('click', function() {
$("div").removeClass(function (index, className) {
return (className.match (/div[0-9]/g) || []).join(' ');
});
$("p").removeClass("intro");
});
});
.div1, .div2, .div3, .div4 {
border: 1px solid red;
}
.intro {
color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div1">div 1</div>
<div class="div2">div 2</div>
<div class="div3">div 3</div>
<div class="div4">div 4</div>
<p class="intro">This is a paragraph.</p>
<p class="intro">This is another paragraph.</p>
如果您要从 DOM 中删除元素,运行 脚本如下:
$('div').on('click',function(){
alert("Hello");
$(".div1").remove();
$(".intro").remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div1">div 1</div>
<div class="div2">div 2</div>
<div class="div3">div 3</div>
<div class="div4">div 4</div>
<p class="intro">This is a paragraph.</p>
<p class="intro">This is another paragraph.</p>
removeClass('intro1')
将从对象中删除 intro
class 属性。 remove()
是将从 DOM 本身中删除它的函数。
我正在尝试从此 HTML 代码中删除 类 div1
和 intro
。
片段示例:
$(function() {
$('div').on('click', function() {
alert("Hello");
$("div").removeClass("div1");
$("p").removeClass("intro");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div1">div 1</div>
<div class="div2">div 2</div>
<div class="div3">div 3</div>
<div class="div4">div 4</div>
<p class="intro">This is a paragraph.</p>
<p class="intro">This is another paragraph.</p>
现在,当我单击 div 时,我会收到问候提示,但 div1 和简介 类 不会被删除。关于我在这里可能遗漏的内容有什么建议吗?
更新: 我应该一直使用 remove 而不是 removeClass。 Fiddle sample.
看来问题是 remove and removeClass 之间的误会。 OP 想从 DOM 中删除一个元素,因此应该使用 remove()
,而不是想使用 removeClass()
您正在选择 p
元素并尝试删除 div
上的 div1
和 div2
类:
$(function() {
$('div').on('click', function() {
$("div").removeClass(function (index, className) {
return (className.match (/div[0-9]/g) || []).join(' ');
});
$("p").removeClass("intro");
});
});
.div1, .div2, .div3, .div4 {
border: 1px solid red;
}
.intro {
color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div1">div 1</div>
<div class="div2">div 2</div>
<div class="div3">div 3</div>
<div class="div4">div 4</div>
<p class="intro">This is a paragraph.</p>
<p class="intro">This is another paragraph.</p>
如果您要从 DOM 中删除元素,运行 脚本如下:
$('div').on('click',function(){
alert("Hello");
$(".div1").remove();
$(".intro").remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div1">div 1</div>
<div class="div2">div 2</div>
<div class="div3">div 3</div>
<div class="div4">div 4</div>
<p class="intro">This is a paragraph.</p>
<p class="intro">This is another paragraph.</p>
removeClass('intro1')
将从对象中删除 intro
class 属性。 remove()
是将从 DOM 本身中删除它的函数。