örneğin sayfada anlık olarak aşağıdaki span etiketleri arasında değerlerim olsun. span sayısı sayfada anlık değişiyor.
<span class="test">Veri 1</span>
<span class="test">Veri 2</span>
<span class="test">Veri 3</span>
<span class="test">Veri 4</span>
Bir taraftan span sayısı değiştikçe arttıkça azaldıkça anlık olarak .test classına sahip tüm spanların içindeki değerleri alıp dizi haline getirmek istiyorum.
Yani sonuç
Veri1, Veri2, Veri3, Veri4 gibi...
Js - Jquery - belirtilen classlar içindeki değerleri almak?
9
●70
- 29-10-2021, 18:15:14const data = [];
const spans = document.querySelectorAll('.text');
spans.forEach(span => {
data.push(span.innerHTML);
});
-------
Önce boş bir değişken oluşturduk, ikinci satırda tüm .text elementlerini seçtik. Ardından bu değeri forEach ile saydırarak .innerHTML ile içlerindeki yazıyı çekerek data'ya ekledik. - 29-10-2021, 18:44:27teşekkürler hocam kullandım çalıştı ama .html yerine .text kullanmama rağmen span içinde eğer html etiketleri varsa onlarla beraber alıyor. bir de bunu sayfadaki anlık span sayısı değişince otomatik olarak aldığımız sonucun değişmesini nasıl sağlayabilirim?Anathory adlı üyeden alıntı: mesajı görüntüle
- 29-10-2021, 19:01:41buddy adlı üyeden alıntı: mesajı görüntüle
<span class="test">Veri 1</span> <span class="test">Veri 2</span> <span class="test">Veri 3</span> <span class="test">Veri 4</span><script> var data = []; setInterval(() => { var veri = document.querySelectorAll('.test') var json = {}; for (let i = 0; i < veri.length ; i++) { json[`veri-${i}`]=veri[i].textContent; } data.push(json); console.log(data) }, 1500); </script>Full
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <span class="test">Veri 1</span> <span class="test">Veri 2</span> <span class="test">Veri 3</span> <span class="test">Veri 4</span> <script> var data = []; setInterval(() => { var veri = document.querySelectorAll('.test') var json = {}; for (let i = 0; i < veri.length ; i++) { json[`veri-${i}`]=veri[i].textContent; } data.push(json); console.log(data) }, 1500); </script> </body> </html> - 29-10-2021, 19:08:11hocam hoşgeldin bir süredir görünmüyorsunMisafir adlı üyeden alıntı: mesajı görüntüle

console loga baktığımda sonuçları json olarak veriyor sanırım ama süre neden verdin hocam? sürekli arka arkaya data gönderiyor. - 29-10-2021, 19:09:32Hoş buldum hocam vakit kalmıyorbuddy adlı üyeden alıntı: mesajı görüntüle
siz sürekli dediğiniz için belirli saniyede bir sayfayı kontrol etmesini istedim. İstediğiniz farklı bir şey miydi? Galiba dpan sayısı değişince istiyordunuz
- 29-10-2021, 19:11:04console log böyle görünüyor bu şekilde problem yaratır mı sayfa uzun süre aktif kaldığında?Misafir adlı üyeden alıntı: mesajı görüntüle

- 29-10-2021, 19:13:19Hocam her seferinde dizinin yeni halini gösteriyor. Yazdırmaya gerek olmayacaktır ancak çok fazla json biriktiğinde fan ses çıkarmaya başlayabilir. Eğer o clada sahip öğe sayısı değiştiğinde json kaydetmek isterseniz çok daha hafif olur.buddy adlı üyeden alıntı: mesajı görüntüle
- 29-10-2021, 19:17:53Aynen hocam. hani sayfadaki .test classına sahip spanlar kullanıcı tarafından jquery ile anlık sayısı artıyor yada azalıyor demiştim ya. belirttiğimiz etikete sahip span sayısında değişiklik olduğunda sonucu verse harika olurdu. bir de span içinde başka span olursa onu elage etmek görmezden gelmekmümkünmüdür hocam?Misafir adlı üyeden alıntı: mesajı görüntüle
<span class="test">Veri1 <span>altveri</span></span>

