1

我正在处理灯箱脚本并使用自定义数据灯箱属性遇到问题。我要做的是允许将 data-lightbox 属性设置动态添加到页面 - 在图像上。

这是我的图像:

<a href="largeimage.png" data-lightbox='{"setting":"value","setting":"value"}'>
   <img src="thumbnail.png" />
</a>

这是我用来注入设置的脚本部分:

$('#testthumbnail').find('a').attr('data-lightbox',settings);

设置只是一个字符串,它被转储到属性中。运行时,我没有收到任何错误,并且设置都正确注入到 data-lightbox 属性中。尽管出于 1 个原因,这些设置在插件中没有生效 - 在某处,输出到页面的 html 看起来像这样:

<a href="largeimage.png" data-lightbox="{"setting":value"}"> ...

data-lightbox 属性上的周围 ' ' 被转换为 " " - 这在我的情况下不起作用。有谁知道为什么撇号被转换为引号以及我如何才能解决这个问题?谢谢!

更新:我的设置变量既可以作为格式正确的 JSON 字符串也可以作为对象使用。我尝试在 data-lightbox 属性中同时使用 Object 和字符串,但遇到了同样的问题。浏览器正在将我的 ' ' 转换为 " " ,这会导致 JSON 错误。

4

1 回答 1

0

你的报价是错误的。HTML 属性需要使用双引号。因此,您需要在 JSON 值上使用单个值。您看到的浏览器输出是浏览器试图尽其所能纠正 html。

于 2013-02-07T03:27:40.003 回答