2017-05-29 3 views
1

Ich möchte zu jedem Div eine neue Klasse hinzufügen, aber einzigartig, wie kann ich dies mit jQuery machen?Fügen Sie eindeutige Klassen zu Divs

<div class="pat"></div> 
<div class="pat"></div> 
<div class="pat"></div> 

CodePen Project

+1

warum einzigartige Klasse. versuchen Sie es mit 'id' statt Klasse – prasanth

+0

Warum? Was ist das Problem/die Anforderung, die Sie beheben möchten? – Andreas

+0

ich habe 21 'div'' und ich möchte 21' id' hinzufügen, wie kann ich das mit jquery oder javascript machen? –

Antwort

0

mit each() und attr() Funktion von jquery Versuchen id statt class für einzigartige

Für uniqueid .Better zu versuchen.

$('.pat').each(function(a,b,c){ 
 
$(this).attr('id',$(this).attr('class')+a) 
 
}) 
 
console.log($('body').html())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div>

+1

Danke, das ist die Lösung, ich kann Ihre Antwort nicht akzeptieren bis 7 Minuten.habe einen schönen Tag Guys! –

+0

@AliceAnwen Sie sind herzlich willkommen ... Happy Coding .. – prasanth

0

Fügen Sie alle div in Wrapper.

<div id="wrapper"> 
     <div class="pat"></div> 
     <div class="pat"></div> 
     <div class="pat"></div> 
    </div> 

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#wrapper div").each(function(key){ 
    $(this).addClass("newclass"+ key); 
    }); 
}); 

</script> 
+0

Warum sollte OP es in 'Wrapper' verschieben? –

+0

Ich dachte nur, es wäre eine bessere Idee, es in Wrapper div zu verschieben. Dann wird es keine Abhängigkeit von der Klasse des inneren Teiles geben. – vartika

1

Schnell, pure-js Methode:

// for adding unique classes: 
 
// var divs = document.querySelectorAll('.pat'); 
 
// [].forEach.call(divs,(el,i)=>{ 
 
// el.classList.add('myclass_'+i) 
 
// }) 
 

 
//for adding unique id's 
 
var divs = document.querySelectorAll('.pat'); 
 
[].forEach.call(divs,(el,i)=>{ 
 
    el.id = 'myId_'+i; 
 
})
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div> 
 
<div class="pat"></div>

+0

Ich denke OP will ID lieber als Klasse! Überprüfen OP Kommentar –

+0

Ja, wahrscheinlich, danke. –

0

Sie diesen Code verwenden können

var divElements = document.getElementsByTagName('div'); 
console.log(divElements.length); 
var c=0; 
Array.prototype.forEach.call(divElements,function(a) { 
    a.classList = "div-" +c; 
    c++; 
    console.log(a); 
}) 
0

Try This:

$(document).ready(function(){ 
 

 
     $("div").each(function(index) { 
 
     
 
      $(this).addClass('pat'+index) 
 
      
 
    }); 
 
});
.pat0 { 
 
    \t background-color: red; 
 
} 
 

 
.pat1 { 
 
     background-color: blue; 
 
} 
 

 
.pat2 { 
 

 
     background-color: green; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
<div class="pat">Pat0</div> 
 
<div class="pat">Pat1</div> 
 
<div class="pat">Pat2</div>

Verwandte Themen