使用jQuery将HTML添加到div中

23

我正在尝试使用jQuery向具有id为slideshow的div添加一些附加的HTML。我的代码:

$("#slideshow").append("<a id="prev" title="Previous Slide">Previous Slide</a><a id="next" title="Next Slide">Next Slide</a>");

这个不起作用,有人可以告诉我我做错了什么吗?


David,我在Mac上使用Coda作为IDE,但它没有显示我刚刚犯的错误。 - mtwallet
我从未使用过Coda。但它不一定会告诉你有错误...相反,你应该能够看到字符串中的文本颜色并不完全相同。 - David Murdoch
你试图追加一个字符串并且它显示出多种颜色的事实意味着它很可能是错误的。我不熟悉Coda,但它可能只是一个高级文本编辑器(这可能是你所需要的)。IDE更强大,但它们通常速度较慢。 - Davy8
无论类型如何,它只是显示为红色,我会看看是否可以找到一个能够解决这个问题的附加组件。感谢您的帮助。 - mtwallet
2个回答

28
你混淆引号了。
你的字符串从第一个 " 到第二个 ",这意味着该字符串仅包含 "<a id="。该字符串后面跟着标识符 prev,然后是另一个字符串,导致语法错误。
将字符串外部的引号更改为 ',像这样:
'<a id="prev" title="Previous Slide">Previous Slide</a><a id="next" title="Next Slide">Next Slide</a>'

啊,我一直很好奇那个。我之前看到过两种类型的使用。所以我应该总是使用 ' 而不是 ",像这样 $('#slides') 而不是 $("slides")? - mtwallet
我喜欢在js中使用单引号,这样看起来更易读 - 如果你在html中添加内容,大多数情况下可以坚持使用双引号。 - James Westgate
这是个人偏好的问题。只要不在同一行代码中同时使用它们,否则它们会冲突。 - Zack
在Javascript中(与其他语言不同),'Hi!'"Hi!"之间没有任何区别。(除了需要转义的引号) - SLaks
只需确保您用于外部引号的内容与您用于内部引号的内容不同即可。如果您有内部-内部引号,则可能需要对其进行转义,这会变得非常丑陋。 - Davy8
@mtwallet:你应该始终使用其中之一……这是个人偏好。我倾向于这样:"<div></div>""<div class='foo bar'>David's div</div>"。双引号在字符串外部使用,单引号在字符串内部使用。 - David Murdoch

2

您没有对引号进行转义,最好的解决方法是将附加内容放在单引号中。

$("#slideshow").append('<a id="prev" title="Previous Slide">Previous Slide</a><a id="next" title="Next Slide">Next Slide</a>');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接