Skip to main content
The 2024 Developer Survey results are live! See the results
added 12 characters in body
Source Link
d.raev
  • 9.5k
  • 8
  • 60
  • 81

Edit: 
I got it reverse the first time, here is a better example code:

var requiredClasses = ['red', 'blue']; var relevant = $('#my_div span');

var requiredClasses = ['red', 'blue'];  
var relevant = $('#my_div span');

var result = [];
elements_loop:
for(i = 0; i< relevant.lenght; ++){
   var el = relevant[i];
   var classList = el.attr('class').split(/\s+/);
   $.each( classList, function(i, cls){
       if (! $.inArray(cls, requiredClasses) {
          //skip the element if any of its class is not in the set.
          break elements_loop;        
       }
   });
   result.push(el);
}
return result;

The code can be optimized, just giving you the idea.

Edit: I got it reverse the first time, here is a better example code:

var requiredClasses = ['red', 'blue']; var relevant = $('#my_div span');

var result = [];
elements_loop:
for(i = 0; i< relevant.lenght; ++){
   var el = relevant[i];
   var classList = el.attr('class').split(/\s+/);
   $.each( classList, function(i, cls){
       if (! $.inArray(cls, requiredClasses) {
          //skip the element if any of its class is not in the set.
          break elements_loop;        
       }
   });
   result.push(el);
}
return result;

The code can be optimized, just giving you the idea.

Edit: 
I got it reverse the first time, here is a better example code:

var requiredClasses = ['red', 'blue'];  
var relevant = $('#my_div span');

var result = [];
elements_loop:
for(i = 0; i< relevant.lenght; ++){
   var el = relevant[i];
   var classList = el.attr('class').split(/\s+/);
   $.each( classList, function(i, cls){
       if (! $.inArray(cls, requiredClasses) {
          //skip the element if any of its class is not in the set.
          break elements_loop;        
       }
   });
   result.push(el);
}
return result;

The code can be optimized, just giving you the idea.

added 95 characters in body
Source Link
d.raev
  • 9.5k
  • 8
  • 60
  • 81

You can select all relevant elements and then test them with .hasClass()Edit: I got it reverse the first time, here is a better example code:

var requiredClasses = ['red', 'blue']; var relevant = $('#my_div span');

var result = [];
elements_loop:
for(i = 0; i< relevant.lenght; ++){
   var el = relevant[i];
   for(jvar classList = 0,el.attr('class').split(/\s+/);
 j<  $.each( classList, function(i, relevantClassescls){
       if (!el $.hasClassinArray(relevantClasses[j]cls, requiredClasses) {
          break elements_loop; //skip the element if any of its class is misednot in the set.
       }   break elements_loop;        
       }
   });
   result.push(el);
   }
}
return result;

The code can be optimized, just giving you the idea.

You can select all relevant elements and then test them with .hasClass()

var requiredClasses = ['red', 'blue']; var relevant = $('#my_div span');

var result = [];
elements_loop:
for(i = 0; i< relevant.lenght; ++){
   var el = relevant[i];
   for(j = 0, j< i relevantClasses){
       if(!el.hasClass(relevantClasses[j]){
          break elements_loop; //skip the element if any class is mised.
       }
       result.push(el);
   }
}
return result;

The code can be optimized, just giving you the idea.

Edit: I got it reverse the first time, here is a better example code:

var requiredClasses = ['red', 'blue']; var relevant = $('#my_div span');

var result = [];
elements_loop:
for(i = 0; i< relevant.lenght; ++){
   var el = relevant[i];
   var classList = el.attr('class').split(/\s+/);
   $.each( classList, function(i, cls){
       if (! $.inArray(cls, requiredClasses) {
          //skip the element if any of its class is not in the set.
          break elements_loop;        
       }
   });
   result.push(el);
}
return result;

The code can be optimized, just giving you the idea.

added 320 characters in body
Source Link
d.raev
  • 9.5k
  • 8
  • 60
  • 81

You can select all relevant elements and then test them with .hasClass()

var requiredClasses = ['red', 'blue']; var relevant = $('#my_div span');

var requiredClassesresult = ['red', 'blue'];[];
var relevantelements_loop:
for(i = $('#my_div0; span'i< relevant.lenght; ++);
{
   var resultel = [];relevant[i];
   for(ij = 0;0, i<j< relevant.lenght;i ++relevantClasses){
       if(!el.hasClass(relevantClasses[j]){
          break elements_loop; //skip the element if any class is mised.
       }
       result.push(el);
   }
}
return result;

The code can be optimized, just giving you the idea.

You can select all relevant elements and then test them with .hasClass()

var requiredClasses = ['red', 'blue'];
var relevant = $('#my_div span');

var result = [];
for(i = 0; i< relevant.lenght; ++){

}

You can select all relevant elements and then test them with .hasClass()

var requiredClasses = ['red', 'blue']; var relevant = $('#my_div span');

var result = [];
elements_loop:
for(i = 0; i< relevant.lenght; ++){
   var el = relevant[i];
   for(j = 0, j< i relevantClasses){
       if(!el.hasClass(relevantClasses[j]){
          break elements_loop; //skip the element if any class is mised.
       }
       result.push(el);
   }
}
return result;

The code can be optimized, just giving you the idea.

added 28 characters in body
Source Link
Itay
  • 16.7k
  • 2
  • 54
  • 72
Loading
Source Link
d.raev
  • 9.5k
  • 8
  • 60
  • 81
Loading