20

这是我的问题:

我有一个 div:

<div id="legend"></div>

我想在某些条件下用其他代码填充它:

<p>Showing results....
    Key:
    <img src="/....">&lt;=1
    &nbsp;<img src="/...">&lt;=2
    &nbsp;<img src="/...">&lt;=3
    &nbsp;<img src="/...">&lt;=4
    &nbsp;<img src="/...">&lt;=5

<p>

如您所见,这是一个图例,我认为主要问题是我有双引号,使用例如此处的解决方案无法轻松包含双引号: Fill div with text

谢谢你的帮助!

4

3 回答 3

32

据我了解,您正在尝试执行以下操作:

$("#legend").text("Your HTML here");

要插入 HTML,您应该使用,但是像这样使用Vanilla JS.html()会更有效率:

document.getElementById('legend').innerHTML = "Your HTML here";

现在,您还提到双引号存在问题。好吧,有两种可能的解决方案。

1:在字符串周围使用单引号:'<img src="/..." />'
2:转义引号:"<img src=\"/...\" />"

还有一件事:如果这些换行符实际上在要插入的 HTML 中,那么 JavaScript 中就不能有多行字符串。您在这里也有两个选择:

1:转义换行符:

"<p>\
    Hello, world!\
</p>"

2:连接:

"<p>\n"
    +"Hello, world!\n"
+"</p>"
于 2013-04-15T16:02:14.620 回答
6

根据您的条件(我们不知道)将您的 html 代码组装在一个变量中,然后用于html()将其设置为元素。

var yourHtml = "your html";
$("#legend").html("yourHtml");

至于处理引号,您可以在变量中使用单引号,例如:

var yourHtml = '<img src="/yourimgr.png">';

或者您可以转义双引号:

var yourHtml = "<img src=\"/yourimgr.png\">";
于 2013-04-15T15:58:42.343 回答
0
  1. 将您的段落 html 存储在某个字符串中 var str= <p>write your complete code here</p>
  2. $('#legend').html(yourconditionSatisfies?str:'')
于 2013-04-15T16:03:52.147 回答