我遇到了这个jquery css的问题:
像这样,它适用于所有浏览器,但ie9:
$(".%id%faderbox").css({
"background-image": "url("+bgimage+")",
"padding": "%id=xtrapadding%px",
"height": dooheight,
"width": doowidth,
"border": doofaderborder
});
dooheight和doowidth是在页面上进一步声明的变量,并且总是返回ie:133px
注意:px在最后。 注意:不是像“133px”
那样被包围现在ie9的问题似乎是它不喜欢宽度和高度值而没有封闭的qoutes“”
所以..好吧我想,我会这样做,例如:
"width": '"' + doowidth + '"',
但这在任何浏览器中都不起作用,即使警报测试清楚地显示doowidth的值现在返回:“133px”而不是133px
硬编码:“width”:“133px”,适用于所有浏览器,包括9
我无法理解为什么它会在所有浏览器中出现:
"width": '"' + doowidth + '"',
答案 0 :(得分:1)
此%id
和%id=xtrapadding%
废话的来源是什么?
在字符串中添加引号是没有用的。他们已经是弦乐了。引号是用于分隔字符串文字的语法的一部分:它们实际上不在字符串本身中,因此添加它们是错误的。
在我看来,出于某种原因,在某些情况下,doowidth
不会被视为字符串。你可以通过附加虚无来强迫它。试试这个:
$(".%id%faderbox").css({
"background-image": "url("+bgimage+")",
"padding": "%id=xtrapadding%px",
"height": dooheight + '',
"width": doowidth + '',
"border": doofaderborder + ''
});
答案 1 :(得分:-1)
尝试使用单引号
'"' + doowidth + '"'