Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何筛选元素,然后设置条件_Javascript_Jquery_Filter - Fatal编程技术网

Javascript 如何筛选元素,然后设置条件

Javascript 如何筛选元素,然后设置条件,javascript,jquery,filter,Javascript,Jquery,Filter,首先要按类进行筛选,然后更改类名: <div class="root"> <div class="col-8 catA filter"></div> <div class="col-4 catB filter"></div> <div class="col-8 catA filter">

首先要按类进行筛选,然后更改类名:

  <div class="root">
    <div class="col-8 catA filter"></div>        
    <div class="col-4 catB filter"></div>        
    <div class="col-8 catA filter"></div>                
    <div class="col-4 catB filter"></div>                
    <div class="col-8 catA filter"></div>                
    <div class="col-4 catB filter"></div>                
  </div>
我的情况如下:

var myFilterData = $('.filter').filter('.catB');
if (myFilterData.index == even) {
//add New class
}
可以使用jquery filter()方法吗?


在每个div中使用数据id并获取数据id

<div class="root">
<div class="col-8 filter" data-id="catA"></div>        
<div class="col-4 filter" data-id="catB"></div>        
<div class="col-8 filter" data-id="catA"></div>                
<div class="col-4 filter" data-id="catB"></div>                
<div class="col-8 filter" data-id="catA"></div>                
<div class="col-4 filter" data-id="catB"></div>                
</div>

<script>
$('.filter').on('click', function(){
   var myFilterData = $(this).data('id')
})
</script>

$('.filter')。在('click',function()上{
var myFilterData=$(this).data('id')
})

在每个div中使用数据id并获取数据id

<div class="root">
<div class="col-8 filter" data-id="catA"></div>        
<div class="col-4 filter" data-id="catB"></div>        
<div class="col-8 filter" data-id="catA"></div>                
<div class="col-4 filter" data-id="catB"></div>                
<div class="col-8 filter" data-id="catA"></div>                
<div class="col-4 filter" data-id="catB"></div>                
</div>

<script>
$('.filter').on('click', function(){
   var myFilterData = $(this).data('id')
})
</script>

$('.filter')。在('click',function()上{
var myFilterData=$(this).data('id')
})

我认为您需要使用catB类均匀地过滤所有div,并相应地更改类。在单击处理程序中尝试此操作
$('.filter.catB:偶数').removeClass('col-4').addClass('col-8')

我认为您需要使用catB类均匀地过滤所有div,并相应地更改类。在单击处理程序中尝试此操作
$('.filter.catB:偶数').removeClass('col-4').addClass('col-8')

请检查,这样您可以更新类


document.querySelector('.root').addEventListener('click',函数(事件){
event.target.classList.remove('col-4');
event.target.classList.add('col-8');
});

请检查,这样您可以更新类


document.querySelector('.root').addEventListener('click',函数(事件){
event.target.classList.remove('col-4');
event.target.classList.add('col-8');
});
这就是你的意思吗

myFilterData.each(function(index) {
    if (! (index % 2)) $(this)
        .addClass("newClass")
        // .removeClass("catB") // Not sure if you also want this
    ;
});
这就是你的意思吗

myFilterData.each(function(index) {
    if (! (index % 2)) $(this)
        .addClass("newClass")
        // .removeClass("catB") // Not sure if you also want this
    ;
});

请检查以下解决方案。您可以根据自己的情况添加或删除该类

var myFilterData = $('.filter').filter('.catB');

if (yourcondition == true) {
myFilterData.addClass("newClass");

  // myFilterData.removeClass("catB")  For removing the class
}


请检查以下解决方案。您可以根据自己的情况添加或删除该类

var myFilterData = $('.filter').filter('.catB');

if (yourcondition == true) {
myFilterData.addClass("newClass");

  // myFilterData.removeClass("catB")  For removing the class
}


我想你是点击过滤项?是的,点击过滤项div是可点击的吗?和
触发过滤器到
catB
?我没弄错吧?是的。同时,我想将类名“col-4”替换为“col-8”,我想你是点击过滤项?是的,点击过滤项div是可点击的吗?和
触发过滤器到
catB
?我没弄错吧?是的。同时我想将类名“col-4”替换为“col-8”,我的查询不是这样的。我想在过滤所有元素后添加新类$('.filter').filter('.catB').css('background','red');但是我想通过检查元素的索引号来更改类名。我的查询不是这样的。我想在过滤所有元素后添加新类$('.filter').filter('.catB').css('background','red');但我也希望通过检查元素的索引号来更改类名