是否可以做这样的事情:
<div id="temp">
<p class="one two">text</p>
<div class="two">text</div>
<a class="three" style="color:#ccc">Text</a>
<p class="one">text</p>
<div class="two">text</div>
<a class="three" style="color:#ccc">Text</a>
</div>
基本上,我需要扫描“temp”元素并从每个子元素中删除某些类。
我尝试过类似的事情:
$('#temp *[class="one two"]').removeAttr('class');
但它不适合我。
答案 0 :(得分:1)
我认为您需要单独处理.one
和.two
,以便彻底根除它们。
$('#temp .one').removeAttr('class');
$('#temp .two').removeAttr('class');
此代码段中有三个按钮:
$('#temp .one.two')
选择器$('#temp .one')
和$('#temp .two')
选择器单击按钮#1或#2后,单击#3。在控制台中查看结果后,重新启动Snippet,然后继续进行另一次测试。
$('#btn1').on('click', function() {
$('#temp .one.two').removeAttr('class');
});
$('#btn2').on('click', function() {
$('#temp .one').removeAttr('class');
$('#temp .two').removeAttr('class');
});
$('#btn3').on('click', function() {
console.log($('.two').length);
console.log($('.one').length);
});
&#13;
.one { border: 2px dashed red; }
.two { background: red; }
.three { border: 2px dotted black; }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="temp">
<p class="one two">text</p>
<div class="two">text</div>
<a class="three" style="color:#ccc">Text</a>
<p class="one">text</p>
<div class="two">text</div>
<a class="three" style="color:#ccc">Text</a>
</div>
<button id='btn1'>('#temp .one.two')</button>
<button id='btn2'>('#temp .one')('#temp .two')</button>
<button id='btn3'>Check</button>
&#13;
答案 1 :(得分:0)
[class="one two"]
会匹配那些与词组one two
完全匹配的词组(而不是two one
,one two
,one something two
,...):< / p>
$('#temp .one.two').removeAttr('class');