How can I get the inner text of span by class name? Here adr_address variable is not a DOM element but a string.
var adr_address = '<span class="street-address">12 Stephenson Rd</span>, <span class="locality">Summertown</span>, <span class="region">TN</span> <span class="postal-code">38483-7005</span>, <span class="country-name">USA</span>';
var street-address = ??;
var locality = ??;
var region = ??;
var postal-code = ??;
var country-name = ??
console.log(street-address);
console.log(locality);
console.log(region);
console.log(postal-code);
console.log(country-name);
The output must be like this:
12 Stephenson Rd
Summertown
TX
38483-7005
USA
You can use DOM Parser
const parser = new DOMParser();
const doc = parser.parseFromString(htmlString, 'text/html');
__ now you can use query selectors on this doc __
You can use @ViewChild, for example:
html:
<span #st class="street-address">12 Stephenson Rd</span>
ts:
@ViewChild('st') st;
ngAfterViewInit(): void {
console.log(this.st.nativeElement.innerHTML);
}
This worked for me finally:
var adr_address = '<span class="street-address">12 Stephenson Rd</span>, <span class="locality">Summertown</span>, <span class="region">TN</span> <span class="postal-code">38483-7005</span>, <span class="country-name">USA</span>';
const parser = new DOMParser();
const doc = parser.parseFromString(adr_address, 'text/html');
var locality = doc.getElementsByClassName('locality')[0].innerHTML.toString();
var street-address = doc.getElementsByClassName('street-address')[0].innerHTML.toString();
var region = doc.getElementsByClassName('region')[0].innerHTML.toString();
var postal-code = doc.getElementsByClassName('postal-code')[0].innerHTML.toString();
You can use Jquery and Javascript:
var elem=$.parseHTML('<span class="street-address">12 Stephenson Rd</span>, <span class="locality">Summertown</span>, <span class="region">TN</span> <span class="postal-code">38483-7005</span>, <span class="country-name">USA</span>')
$.map( elem, function( el,n ) {
if($(el).context.localName == 'span')
{
console.log($($(el)[0]).text())
}
});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.