将字符串转换为link-javascript
我有一个json响应将字符串转换为link-javascript,javascript,string,Javascript,String,我有一个json响应 Indicator:true content:"<a href=somelink target="_blank">Click here to open your message</a>" 可以使用直接在React中呈现HTML代码 createMarkup(content) { return {__html: content}; } convertFn(content) { return <div dangerouslySetInn
Indicator:true
content:"<a href=somelink target="_blank">Click here to open your message</a>"
可以使用直接在React中呈现HTML代码
createMarkup(content) {
return {__html: content};
}
convertFn(content) {
return <div dangerouslySetInnerHTML={createMarkup(content)} />;
}
getLink(){
... get json response ...
let content = res.content;
let linkContent = this.convertFn(content);
}
createMarkup(内容){
返回{uuuhtml:content};
}
转换器fn(内容){
回来
}
getLink(){
…获取json响应。。。
让content=res.content;
设linkContent=this.convertFn(content);
}
编辑:这是一个React.js特定示例。原因是引号符号。您的字符串以target结尾。 您应该将
somelink
和\u blank
放在引号内,引号与您放在整个内容中的引号不同
例:
content=''
或
content=“”
编辑:
有些人误解了我的意思,因为他没有在somelink之外加引号。
不是这样的。
查看目标。为什么\u是空白的
是黑色的,而其余的内容是红色的?
这里使用的引号类型很重要。或者可以转义
content = "<a href=\"somelink\" target=\"_blank\">Click here to open your message</a>"
content=“”
请安装Prettier以获得编辑器帮助。我发现您的代码运行良好,如以下代码片段所示
let content='';
var wrapper=document.createElement('div');
wrapper.innerHTML=''+内容+''//不需要放在div里
设div2=wrapper.firstChild;
设a=div2.firstChild;
console.log(a.innerText)
log(a.getAttribute('href')、a.getAttribute('target')
使用危险的html
属性将字符串中存储的任何html转换为实际的html标记
例如
htmlToText(content) {
return {__html: content};
}
render() {
return (
<div dangerouslySetInnertml={this.htmlToText(yourHtmlString)} />
)
}
HTMLTOXT(内容){
返回{uuuhtml:content};
}
render(){
返回(
)
}
你所说的“不工作”是什么意思?尝试了wrapper.innerHTML=content代码>?并直接使用该包装器?请显示所有相关代码和正确的数据结构。显示的内容有不匹配的引号,无法运行。请看“不”,这不是重点。。链接引号与此无关。它与此无关。毕竟字符串实际上在目标处结束,并在空白后恢复,因此中间的部分被视为非字符串,这会导致问题字符串很长。。出于这个原因,我把它缩短了,那么引号是如何影响长度的呢?你是不是在想我说的是你放了一些链接而不是实际的链接?我不是,请再读一遍答案。somelink
是我放的假文本。。它与引号有着本质的联系。。所以这是不可能的context@raksheetbhat您在哪里传递createMarkup()
中的内容?OP没有使用React,因此我认为这不相关。这不是问题的答案,应该是注释
content="<a href='somelink' target='_blank'></a>"
content = "<a href=\"somelink\" target=\"_blank\">Click here to open your message</a>"
htmlToText(content) {
return {__html: content};
}
render() {
return (
<div dangerouslySetInnertml={this.htmlToText(yourHtmlString)} />
)
}