首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Angular 7/Typescript中将HTML赋值给字符串变量的情况下,如何按类名解析内部html

在Angular 7/Typescript中将HTML赋值给字符串变量的情况下,如何按类名解析内部html
EN

Stack Overflow用户
提问于 2019-11-11 17:39:30
回答 3查看 305关注 0票数 0

如何通过类名获取span的内部文本?这里的adr_address变量不是一个DOM元素,而是一个字符串。

代码语言:javascript
复制
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);

输出必须如下所示:

斯蒂芬森路12号

夏城

发送

38483-7005

使用

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-11-11 17:44:50

您可以使用DOM解析器

代码语言:javascript
复制
const parser = new DOMParser();
const doc = parser.parseFromString(htmlString, 'text/html');

__ now you can use query selectors on this doc __
票数 2
EN

Stack Overflow用户

发布于 2019-11-11 18:00:00

您可以使用@ViewChild,例如:

html:

代码语言:javascript
复制
<span #st class="street-address">12 Stephenson Rd</span>

ts:

代码语言:javascript
复制
 @ViewChild('st') st;

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

}

票数 1
EN

Stack Overflow用户

发布于 2019-11-11 18:34:10

这对我来说终于奏效了:

代码语言:javascript
复制
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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58798865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档