-6

出于某种原因,当我尝试在函数内添加带有“& (amp)”的字符串时,.html()会引发无法识别的表达式错误。您知道如何转换&字符串或如何最好地将我想要的字符串插入到相应的选择器中吗?

var img_description = "Aluminum Desktop Computer, Keyboard & Mouse with Clipping Paths";

$(img_description).html(img_description);

请记住,在我的代码img_description中是一个动态变量。

4

3 回答 3

4

那是一个无效的选择器,第一部分需要是你要替换的 html 的元素。对于这个例子,让我们用 ID 替换 div 的内容test

演示:http: //jsfiddle.net/tymeJV/YKhAa/1/

$("#test").html(img_description);

前面#的测试是选择一个特定的ID(在我们的例子中,ID of test)。

您应该真正熟悉选择器,这里是 API 的链接:http: //api.jquery.com/category/selectors/

于 2013-06-05T13:16:34.503 回答
2

这可以:

$(document).ready(function() {
   $('p').html('&');
});

http://jsfiddle.net/EJSS2/1/

你的代码是错误的。您尝试使用 html 作为选择器和 html。

于 2013-06-05T13:16:43.923 回答
0

您尝试做的事情毫无意义;您不能从任意字符串创建 jQuery 对象,因此它被解释为元素的选择器。该选择器中与符号 (&) 的问题在选择器的文档中进行了介绍:

要使用任何元字符(例如 !"#$%&'()*+,./:;<=>?@[]^`{|}~ )作为名称的文字部分,它必须使用两个反斜杠进行转义:\\。例如,id="foo.bar" 的元素可以使用选择器 $("#foo\\.bar")。

但是,即使您这样做,第一部分也不会为您做任何有用的事情,因此您将看不到任何事情发生。您需要首先选择至少一个元素或创建一个新元素,然后才能使用.html()它来设置其 HTML 内容(它会很乐意接受包含 an 的字符串,&而无需您做任何事情)。

于 2013-06-05T13:17:40.647 回答