| Autor | Zpráva | ||
|---|---|---|---|
| raddimm.xx Profil |
#1 · Zasláno: 25. 1. 2023, 14:13:00
Zdravím
Mám takový problém mám HTML (zjednodušeně zde:) <div class="p-final-price-wrapper"> <span class="price-save"> <span></span> <span class="neco"></span>až -40% </span> </div> <div class="flags"> <span class="price-save"> <span></span> <span class="neco"></span>až -50% </span> </div> <div id="vysledek">x</div> a potřebuji pomocí javascriptu získat čistou číslovku "50" Nedaří se mi nějaký elegantní kód a) nabrat html pod div.flags b) očistit od všechno html a různých znaků, musí zůstat jen číslovka |
||
| anonym_ Profil * |
#2 · Zasláno: 25. 1. 2023, 14:17:40
raddimm.xx:
DOMParser - Web APIs | MDN + na samotnou číslovku pak regulár. |
||
| raddimm.xx Profil |
#3 · Zasláno: 25. 1. 2023, 14:25:16
anonym:
asi na mě musíš jak na b*ba :) |
||
| Radek9 Profil |
#4 · Zasláno: 25. 1. 2023, 14:28:49
raddimm.xx:
To HTML je někde přímo na stránce, nebo ho od někud načítáš do řetězce? Jestli první možnost, tak jde příslušný element jednoduše najít pomocí funkce document.querySelector. Pokud druhá možnost, tak musíš ten řetězec nejprve naparsovat tím DOMParserem, co posílál anonym. Následně stačí vzít textContent toho elementu a nějakým způsobem (nejjednodušeji regulárem /\d+/) z něj dostat to číslo.
|
||
| anonym_ Profil * |
#5 · Zasláno: 25. 1. 2023, 14:43:01
raddimm.xx:
... nebo si ty něco o tom přečteš. Materiál ke studiu máš. |
||
| Kcko Profil |
#6 · Zasláno: 26. 1. 2023, 17:04:56
raddimm.xx:
Jak napsali nademnou, cca takto: let html = `<div class="p-final-price-wrapper">
<span class="price-save">
<span></span>
<span class="neco"></span>až -40%
</span>
</div>
<div class="flags">
<span class="price-save">
<span></span>
<span class="neco"></span>až -50%
</span>
</div>
<div id="vysledek">x</div>`;
const parser = new DOMParser();
const parsedDocument = parser.parseFromString(html, "text/html");
let flags = parsedDocument.querySelector('.flags');
let flagsText = flags.innerText;
let result = flagsText.match(/\d+/)[0];
console.log(result); |
||
|
Časová prodleva: 3 měsíce
|
|||
| JsonKody Profil |
#7 · Zasláno: 13. 4. 2023, 08:11:22
raddimm.xx:
Je dost podstatné zminit jestli je toto nějaký cizí web nebo tvuj web na ktery pises skript. Podle toho teprve můžu radit. |
||
|
Časová prodleva: 3 roky
|
|||
0