替换的 InnerHtml 显示为字符串

Posted

技术标签:

【中文标题】替换的 InnerHtml 显示为字符串【英文标题】:Replaced InnerHtml Displays as a String 【发布时间】:2012-06-12 22:09:17 【问题描述】:

我必须在这里错过显而易见的事情。我在表格单元格中有一个下拉菜单,可以选择要在该单元格中显示的图像,然后下拉菜单消失。我可以通过替换包含下拉列表的内部 html 来使用下拉列表中的文本值来执行此操作。但是当我尝试用图像文件的位置替换内部 html 时,它只显示为文本。以下是相关代码:

string image = "&ltimg src="" + DropList1.SelectedItem.Value + "" /&gt";
s1.InnerHtml = image;

输出是:

<img src="D:\Documents and Settings\farmek2\Desktop\Trends\GreenUp.jpeg" />

我需要它不显示为文本,而是显示为图像 GreenUp.jpg。

感谢任何建议。

问候。

【问题讨论】:

百万答案 GO! jQuery Append 【参考方案1】:

发送实际标记,而不是编码字符串。

string image = "<img src=\"" + DropList1.SelectedItem.Value + "\" />";

【讨论】:

谢谢。这摆脱了文本(我确定我已经尝试过)。现在的问题是图像不显示。 那是因为您使用的是本地硬盘驱动器引用,而不是浏览器可访问的 URL。【参考方案2】:

这很可能是因为您将 HTML 特殊字符注入到 HTML 页面中。浏览器不会将其呈现为 HTML,而是将其转换为相应的符号。使用实际字符而不是它们的特殊字符等价物。

【讨论】:

以上是关于替换的 InnerHtml 显示为字符串的主要内容,如果未能解决你的问题,请参考以下文章

为啥随着 innerHTML 变大,替换 innerHTML 会变慢?

仅替换具有类突出显示 javascript 的子字符串

1个函数独立替换4个不同ID的innerHTML

需要在 innerHTML 元素中将完整数组显示为字符串

替换后innerHTML不呈现

document innerHTML 怎样解决 代码不替换 重复增加问题。