Je souhaite mettre en surbrillance tout élément dont la classe commence par a_slot_
mais ne se termine pas par pink
ou green
dans l'un des noms de classe. Dans cet exemple, le troisième élément que je sens devrait être mis en évidence car il a la classe a_slot_orange
et l'autre classe ne contient pas pink
ou green
.jquery selector élément manquant
Pourquoi le troisième élément n'est-il pas mis en évidence (mais le dernier est)? Comment mettre en évidence le troisième avec les autres?
$(document).ready(function() {
$("[class^='a_slot_']").each(function(i,v){
if(!$(this).attr('class').includes('green') && !$(this).attr('class').includes('pink')){
$(this).css('background-color', 'red');
}
});
// also don't work....have the same result
//$("[class^='a_slot_']:not([class$='green'],[class$='pink'])").css('background-color', 'red');
//$("[class^='a_slot_']").not("[class$='green'],[class$='pink']").css('background-color', 'red');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class='a_slot a_slot_green'>Green</p>
<p class='a_slot a_slot_pink'>Pink</p>
<p class='a_slot a_slot_orange'>Orange (shouldn't I be highlighed too?)</p>
<p class='a_slot_green'>Green</p>
<p class='a_slot_pink'>Pink</p>
<p class='a_slot_orange'>Orange</p>
<p class='a_slot_4'>4</p>
<p class='a_slot_16'>16</p>
<p class='a_slot_16 other_class'>16</p>
<p class='a_slot_orange other_class'>Orange</p>
Les 3 premiers paragraphes ne commencent pas par a_slot_ – Gerard
Vous voulez probablement utiliser '$ ("[classe * = '_ a_slot']")'. – abhishekkannojia
@Gerard Je sais, mais la deuxième classe ne – depperm