Powodem Twój kod nie działa dlatego [innerHTML]
jest selektor atrybutu, a innerHTML
nie jest atrybutem na elemencie (co oznacza, że nic nie jest zaznaczone).
Można filtrować elementy span
na podstawie ich tekstu. W poniższym przykładzie .trim()
służy do obcięcia wszelkich białych znaków. Jeśli tekst jest równy "Kategoria:", element ten jest zawarty w przefiltrowanym zestawie zwróconych elementów.
var category = $('span').filter(function() {
return $(this).text().trim() === 'Category:';
}).next().text();
Powyższy fragment kodu będzie filtrować elementy, jeśli ich tekst jest dokładnie „Kategoria:”. Jeśli chcesz, aby wybrać elementy, jeśli ich tekst zawiera że ciąg, można użyć przełącznika :contains
(jak wskazano w komentarzach):
var category = $('span:contains("Category:")').next().text();
Alternatywnie, stosując metodę .indexOf()
będzie działać także:
var category = $('span').filter(function() {
return $(this).text().indexOf('Category:') > -1;
}).next().text();
Nie możesz podać swoich przedmiotów w klasie? –
Produkt nie jest "mój" :-) Parsuję stronę zewnętrzną Nie kontroluję ... – MarcoS