2016-02-12 77 views
5

每当我将内联css与jQuery相加时,它也会改变已经存在的内联css的格式。例如,如果我有没有在url任何引号中的背景图片,我会添加类似避免jQuery内联css中的双引号

$('.element').css('padding', '10px'); 

将重新格式化完成内联CSS。 (例如也background-color: #ffffff;转移到 - >background-color: rgb(255,255,255);

这里是一个小提琴 https://jsfiddle.net/chickberger/ppas2zrh/1/

荫猜这是被应用到内联样式正好的jQuery/javscript语法如果多数民众赞成的情况下。有没有可能避免这种情况呢?我的主要问题是背景图像的URL双引号。

+1

我可以在JS小提琴中看到问题,但我不明白为什么这是一个问题。它似乎运作正常(至少在Chrome中)。你会详细说明为什么重新格式化会给你带来问题吗?也许我们可以提供解决方案。 –

+0

如果您在开发人员工具中复制'outerHTML',则URL周围的引号实际上是'"' –

+0

'使用样式而不是css –

回答

1

这不是jQuery的,它的浏览器。
将代码替换为$('.style-me')[0].style.padding = '10px',没有什么会改变。

它发生在Mozilla中,它不会在Chrome中发生。你无法做任何事情。除了可能做属性像

$('.style-me').attr('style', 
    $('.style-me').attr('style') + ';padding:10px' 
) 

这是个坏主意。

+0

Thx,工作。 :) – paperboy

0

这通常是如何属性修改在jQuery发生,它改写了DOM属性与此格式。

您可以使用单引号或转义引号,在你的网线背景的CSS规则

style="background-image: url('single/quotes/around/the/path');"