我正在处理灯箱脚本并使用自定义数据灯箱属性遇到问题。我要做的是允许将数据灯箱属性设置动态添加到页面上 - 在图像上。
这是我的形象:
<a href="largeimage.png" data-lightbox='{"setting":"value","setting":"value"}'>
<img src="thumbnail.png" />
</a>
以下是我用来注入设置的脚本部分:
$('#testthumbnail').find('a').attr('data-lightbox',settings);
设置只是一个字符串,即被转储到属性中。运行时,我没有收到任何错误,并且设置都正确地注入data-lightbox属性。这些设置在插件中没有生效,但有一个原因 - 在某些地方,输出到页面的html看起来像这样:
<a href="largeimage.png" data-lightbox="{"setting":value"}"> ...
data-lightbox属性的周围''转换为“” - 这在我的情况下不起作用。有没有人知道为什么撇号被转换成引号以及我怎么可能绕过这个? 谢谢!
更新: 我有设置变量既可以作为格式正确的JSON字符串,也可以作为对象。我已尝试在data-lightbox属性中同时使用Object和字符串,但遇到了同样的问题。浏览器正在将我的's'转换为“s”,导致JSON错误。
答案 0 :(得分:1)
你的报价错了。 HTML属性需要使用双引号。所以你需要在JSON值上使用单个。您看到的浏览器输出是浏览器尝试尽力纠正html。