【发布时间】:2018-08-29 06:08:50
【问题描述】:
我正在尝试在 IE10 中进行网格布局,并且非常接近解决方案(至少我是这么认为的)。我写了这个简短的脚本,它应该可以告诉 div 以哪种方式放置在网格中,因为显然 IE 无法自动填充。
var x = 1;
var y = 1;
jQuery(".grid .flex").each(function () {
jQuery(this).css('-ms-grid-row', x);
jQuery(this).css('-ms-grid-column', y);
console.log(x);
console.log(y);
if (y >= 3) {
y = 1;
x++;
}
else {
y++;
}
});
div 的正确值在控制台上显示,但似乎 .css() 函数并没有完全理解它们只是数字。我没有按照此处显示的方式工作,但是当我将方法更改为 "-ms-grid-rows(或 -columns)" 脚本注入样式标签就好了。
我认为 jquery 假设变量是像素测量值,这可以解释为什么 "-ms-grid-rows" 有效并且 "-ms-grid-row"没有。
有没有办法解决这个问题?我可以明确地告诉变量只是数字吗?
对不起,如果这一切听起来有点混乱,我只是一名试图解决问题的实习生,因为高级开发人员正在休假。我也只是一个“网络开发”的菜鸟。
【问题讨论】:
-
jQuery(this).css({'-ms-grid-row': x,'-ms-grid-column': y}); -
也许可以尝试
jQuery(this).css('-ms-grid-row', String(x));甚至jQuery(this).css('-ms-grid-row', ''+x);显式转换为字符串(老实说,我不能说这是否可行,这取决于 jQuery 在你传递它之后如何处理它,但如果它正在测试一个数字或一个字符串,然后基于它做不同的事情,它可能会有所帮助。 -
我没有尝试过,但我认为它可能会成功:stackoverflow.com/questions/8462040/…
标签: jquery html css internet-explorer internet-explorer-10