簡體   English   中英

如何通過 class 名稱解析內部 HTML 名稱,其中 html 分配給 ZC31C335EF37DD317C451B71BA8 中的字符串變量

[英]How can I parse inner HTML by class name where html is assigned to a string variable in Angular 7/Typescript

如何通過 class 名稱獲取 span 的內部文本? 這里的 adr_address 變量不是一個 DOM 元素,而是一個字符串。

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);

output 必須是這樣的:

斯蒂芬森路 12 號

薩默敦

德克薩斯州

38483-7005

美國

您可以使用 DOM 解析器

const parser = new DOMParser();
const doc = parser.parseFromString(htmlString, 'text/html');

__ now you can use query selectors on this doc __

您可以使用@ViewChild,例如:

html:

<span #st class="street-address">12 Stephenson Rd</span>

ts:

 @ViewChild('st') st;

 ngAfterViewInit(): void {
 console.log(this.st.nativeElement.innerHTML);

}

這最終對我有用:

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();

您可以使用 Jquery 和 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())

 }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM