在 JQuery 中,使用 進行搜索后hasClass(),如何為找到的元素添加一個類?用$(這個)?
在下面我試圖重現以解釋我的問題的示例中,我搜索了具有or類hasClass()的元素并添加了一個類以將它們繪制成另一種顏色,也就是說,只有News 3 3不應該被繪制,什么是正確的作業方式?filter1_1filter2_2
function filter(){
if($('.news').hasClass('filter1_1') || $('.news').hasClass('filter2_2')){
$(this).addClass('paint_news');
}
}
filter();
.paint_news{
color: #d71f0b;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="news filter1_1 filter2_2">
News 1 2
</div>
<div class="news filter1_1 filter2_1">
News 1 1
</div>
<div class="news filter1_3 filter2_3">
News 3 3
</div>
uj5u.com熱心網友回復:
這行不通......你this沒有指向你想要的元素。
讓 jQuery 像這樣進行選擇會更容易:
function filter() {
$('.news.filter1_1').addClass('paint_news');
$('.news.filter2_2').addClass('paint_news');
}
如果要遍歷新聞元素,請each像這樣使用:
function filter() {
$('.news').each(function() {
if($(this).hasClass('filter1_1') || $(this).hasClass('filter2_2')){
$(this).addClass('paint_news');
}
}
}
順便說一句,您還可以hasClass像這樣對多個類進行正則運算式:
if($(this).attr('class').match(/filter1_1|filter2_2/)){
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/441172.html
標籤:jQuery
下一篇:計算腳本創建的圓圈的點擊次數
