Potrzebuję uzyskać wszystkie obiekty, których identyfikator pasuje do określonego wzorca. Jak mogę to zrobić? Dzięki!Javascript: pobierz cały obiekt, gdzie id jest podobny do log_XXXX
8
A
Odpowiedz
15
nowoczesnych przeglądarek: (IE9 +)
//slice turns the resulting DOM collection into a proper array
var matches = [].slice.call(document.querySelectorAll('[id^=log_]'));
jQuery:
$('[id^=log_]')
starymi przeglądarkami, bez jQuery:
var matches = [];
var elems = document.getElementsByTagName("*");
for (var i=0; i<elems.length; i++) {
if (elems[i].id.indexOf("log_") == 0)
matches.push(elems[i]);
}
//matches now is an array of all matching elements.
-1
It Najlepiej byłoby użyć do tego celu JS framework, ponieważ mają one zaawansowane funkcje selektora DOM, dzięki którym to, co chcesz zrobić, jest niezwykle łatwe. Istnieje wiele opcji do wyboru, ale bardziej popularne są: jQuery, Prototype, MooTools i Dojo.
3
Ok, oto prosta odpowiedź JavaScript:
// a handy function to aid in filtering:
// takes an array and a function, returns another array containing
// only those elements for which f() returns true
function filter(a, f)
{
var ret = [];
for (var i=0; i<a.length; ++i)
{
if (f(a[i]))
ret.push(a[i]);
}
return ret;
}
// this collects all elements in the current document
var elements = document.getElementsByTagName("*");
// and this filters out all but those that match our pattern
var logElements = filter(elements, function(el)
{ return /log_/.test(el.id) }); // simple expression
Powiązane problemy
- 1. Pobierz obiekt według id()?
- 2. Gdzie umieścić cały kod JavaScript jQuery?
- 3. pobierz informacje z innej tabeli, gdzie id = id
- 4. Pobierz element wewnątrz elementu według klasy i ID - JavaScript
- 5. JavaScript Pobierz element według Id i ustaw wartość
- 6. Symfony2: Polecany obiekt podobny do obiektu Request?
- 7. Python: ustalenie, czy obiekt jest podobny do pliku?
- 8. Python - wymagany jest obiekt podobny do bajtów, nie str
- 9. Pobierz ostatnią wstawioną id Sequelize
- 10. Pobierz cały folder z SourceForge
- 11. Dodaj obiekt do obiektu (lub przynajmniej podobny wynik)
- 12. Queryover gdzie id nie jest na liście
- 13. FindViewById gdzie ID jest ciągiem dynamicznym
- 14. Dodaj obiekt JavaScript do obiektu JavaScript
- 15. Jak zmienić obiekt podobny do iteratora java do sekwencji clojure
- 16. Szyny Pobierz wiele według ID
- 17. Pobierz fragment widoku pojemnik id
- 18. Zobacz cały obiekt (głęboki watch) z angularjs
- 19. Moduł Joomla, pobierz ID menu (ItemID) z ID artykułu
- 20. Obiekt niestandardowy JavaScript jest ogólny
- 21. Android: Pobierz obiekt
- 22. Google App Engine - Pobierz Cały żywo Zastosowanie do lokalnych
- 23. delete gdzie id na liście
- 24. pobierz cały typ dokumentu umbraco z brzytwą
- 25. Hibernacja: pobierz obiekt według identyfikatora
- 26. HTML5 JavaScript Pobierz atrybut
- 27. Obiekt DOM JavaScript do obiektu jQuery
- 28. JavaScript - pobierz klasę funkcji (metody)
- 29. obiekt JavaScript popychany do tablicy
- 30. jQuery: Get obiekt podrzędny z konkretnego ID
A jeśli nie używasz jQuery? : P –
@ Daniel, patrz aktualizacja powyżej. – Tracker1
Twój selektor jQuery mógłby zostać ulepszony. "Gwiazdowy selektor" jest niejawny, powinieneś używać selektora "uruchamiającego" zamiast "zawiera", a podkreślenie nie potrzebuje ucieczki: '$ (" [id^= log _] ")' –