ich eine lange dynamisch generierte Liste mit jeweils der gleichen Klasse Kennung habe und ein Datenattribut ähnlich den folgenden Code:JQuery alle Daten erhalten Attribute aus einer Liste
<ul>
<li class="list" data-id="123">One</li>
<li class="list" data-id="124">Two</li>
<li class="list" data-id="125">Three</li>
<li class="list" data-id="126">Four</li>
.....etc
</ul>
, was ich versuche zu erreichen, ist zu erhalten alle data-id
Werte und formatieren sie in wie folgt:
123|124|125|126....etc
diese dann auf eine Seite über ajax und die IDs überprüft in einer Datenbank zur Existenz weitergegeben würden.
var delimited_data="";
$('.list').each(function(){
delimited_data+=$(this).data('id')+"|";
});
console.log(delimited_data);
Der Grund, warum ich diese Frage bin zu fragen ist, dass ich auf einem Live-System arbeite, die automatisch Elemente in der Liste Spalten an verschiedene Benutzer nach 10 Minuten einsetzt. Ich muss nur sicher sein, dass der Code den richtigen Weg geht :)
Ich muss auch überprüfen, dass es keine .list
Klassen auf der Seite gibt (dh - keine Möglichkeit, die Abfrage zu tun), ob delimited_data
wird vollständig sein leer, was ich ziemlich sicher bin.
Gibt es einen besseren Weg als .each()
in diesem Fall zu verwenden, da ich finde, dass es ziemlich langsam sein kann, dass die obige Funktion alle 30 Sekunden ausgeführt wird.
Um das Vorhandensein von '.list' zu überprüfen, führen Sie einen Check auf die Länge von' .list' –