设置列计数属性时,JQuery CSS setter 在 webkit 中不起作用

标签 jquery html css css-multicolumn-layout

我有一个使用 JavaScript 动态生成的 HTML ul。生成它之后,我使用 JQuery 的 $('#id').css('property',value) 方法在所述 ul 上设置样式。这是有问题的代码的样子:

$('#actionSpace #datasetContent')
   .css('-moz-column-count',this.content.length)
   .css('-webkit-column-count',this.content.length)
   .css('column-count',this.content.length)
   .css('width',this.content.length*150 + 'px');

基本上,我设置了 3 个不同的 column-count 属性 - 一次用于常规 css,一次用于 -moz 域中的 css,一次用于 -webkit 域中的 css,然后我还设置width 属性。

此代码在 Firefox 中运行良好 - id 为 datasetContentul 元素的 css 更新正常。

但是,当我在 webkit(Safari 或 Chrome)中运行它时,它停止工作。奇怪的是,width 属性(我在上面那一长串 css 中设置的最后一件事)设置正确,但没有设置其他属性。如果我在 Chrome 的检查器中手动更改它们,网站更新就好了。但是,当然,我不能合理地期望我网站的用户手动修改我页面上的 CSS 以使其看起来不错:)

有人知道是什么导致了这个问题吗?


更新 我已经尝试将 ul 切换为 div,但没有任何区别。问题特别是 JQuery CSS 和列数属性。也许这是要直接向 JQuery 的人们提出的问题?我会等着看这里有没有回应,如果没有,我会在那里找合适的 channel 。

最佳答案

您是否考虑过使用单个 .css({//array }) 而不是链接 .css(property, value) 来应用您的 CSS?正如您在上面所写的那样,您的样式在 Firefox 中可以正常工作是有道理的,因为 -moz-column-count 已正确应用,但我不确定 .css 的两次连续使用() 可以这样链接。这不会在 Chrome 开发工具中引发错误?

我觉得

$('#actionSpace #datasetContent').css({
  '-moz-column-count': this.content.length,
  '-webkit-column-count': this.content.length,
  'column-count': this.content.length,
  'width': this.content.length * 150 + 'px' 
});

可能会更好。

关于设置列计数属性时,JQuery CSS setter 在 webkit 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17332772/

相关文章:

javascript - 在输入字段中添加 Glyphicon?

html - Hero 的 Z-index 问题?也许溢出相关?

c# - HTML 5 - <text> 的作用是什么?

html - 元 : HTML in the style of JSON

javascript - 无法清空 JS 数组

javascript - ESRI 自定义主页按钮 gis javascript

javascript - 错误不断出现在我的保存和加载部分,出现 NAN

css - 如何在叠加层上居中加载图像

javascript - 如何获取父div内元素的距离(以像素为单位)

jquery - TableSorter 奇怪的图像加载