在Javascript中以可呈现HTML的形式返回值

在Javascript中以可呈现HTML的形式返回值,javascript,html,return,render,Javascript,Html,Return,Render,我对JS没有太多的经验,我遇到了一个非常简单的问题,这让我很困惑,因为我不懂语法 我有一段话是这样写的: if( typeof item.id !== 'undefined') { return { label: item.name, value: item.name }; } 我想更改“label”值,使其添加一些html。所以我的想法是这样: if( typeof item.id !== 'undefined') { return {

我对JS没有太多的经验,我遇到了一个非常简单的问题,这让我很困惑,因为我不懂语法

我有一段话是这样写的:

if( typeof item.id !== 'undefined') {
    return {
        label: item.name,
        value: item.name
    };
}
我想更改“label”值,使其添加一些html。所以我的想法是这样:

if( typeof item.id !== 'undefined') {
    return {
        label: <a href="https://example.com/' + item.seo + '/' + item.id + '"><p>' + item.name + '</p></a>,
        value: item.name
    };
}
if(typeof item.id!=“未定义”){
返回{
标签:,
值:item.name
};
}

我在这里遇到的问题是HTML只是打印,而不是呈现为HTML。因此,我最终得到一个包含所有HTML字符的文本字符串。有没有简单的方法解决这个问题?

方法是使用
[MyElement].innerHTML
=。。。或者
$([MyElement]).html(…)
(jQuery)您在看到。。。将被呈现为html。

像这样吗<代码>标签:$(this.html(“”),这个返回[object,object],所以我想我在这里有点错误,主要是“this”可能是不同的,但我没有尝试引用页面上的内容,我只是尝试指定返回值被解释为html而不是纯文本。想法?@user1709061什么是“可渲染html”?HTML是纯文本的,所以我不明白你们的问题在哪里,我肯定是术语问题。基本上打印出来的是段落文本,包含我所有的代码。因此,在页面的公共端,您可以看到所有的标记,而不是那些实际呈现的标记。因此,我看到的是“+item.seo+”/“+item.id+”>“+item.name+”

,而不是带有项目名称的链接。@user1709061您是否已解决此问题,或者您仍在试图解决此问题。我想您可能对.innerHTML和/或.html()的理解有点困惑是的,我还在努力弄清楚。你完全正确地理解了困惑:)