Używam Array.prototype.map.call przechowywać w tablicy kilka węzłów lista obiektów:Jak uzyskać aktualny indeks w mapie prototypowej Array?
function getListings() {
return Array.prototype.map.call(document.querySelectorAll('li.g'), function(e) {
return {
rectangle: e.getBoundingClientRect();
}
}
}
Jednak chciałbym również przechowywać w jakiej kolejności to elementy pojawiają się w DOM, i nie wiem, jak to zrobić.
Wiem, że przechowuję to w tablicy, a kolejność będzie indeksem tablicy. Na przykład:
var listings = getListings();
console.log(listings[0]); // rank #1
console.log(listings[1]); // rank #2
// etc...
ale jestem wstawienie obiektu json w bazie danych, i najprostszy sposób do przechowywania „rangi” informacji jest tworzenie właściwość „rangę” W mojej obiektu, ale nie wiem wiedzieć, jak uzyskać "indeks" bieżącej tablicy.
Coś jak:
function getListings() {
return Array.prototype.map.call(document.querySelectorAll('li.g'), function(e) {
return {
rectangle: e.getBoundingClientRect(),
rank: magicFunctionThatReturnsCurrentIndex() // <-- magic happens
}
}
}
Każda pomoc wskazujące mnie we właściwym kierunku, będą bardzo mile widziane! Dzięki
myślę 'document.querySelectorAll ('li.g')' powinien powrócić elementy prawo we właściwej kolejności, to znaczy, jak pojawiają się one w DOM. – VisioN
Tak, ale czy istnieje sposób na uzyskanie wartości liczbowej? Mam elementy w aktualnej kolejności, ale chcę mieć atrybut w moim obiekcie JSON z jego wartością liczbową. – ILikeTacos