我有以下问题。我有这个jQuery脚本:
$(document).ready(function () {
$("thead.opening").click(function () {
var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
alert("INTO second function, chrome: " + is_chrome);
$(this).next().css('width', '10000000 em');
$(this).next().css('display', 'table-row-group');
alert($(this).next().css('display'));
})
});
当用户点击表格的thead
(包含class="opening"
)时,此CSS设置为同一表格的tbody
元素(由{{1}表示}):
$(this).next()
这适用于FireFox和Internet Explorer,但在Chrome中无效。
我已经获得了以下行为(正如您在前面的代码片段中看到的,我已经放了一些style="display: table-row-group;
来调试代码):
alert()
然后按照我的预期设置CSS属性:
INTO second function, chrome: true
并执行代表我$(this).next().css('display', 'table-row-group');
元素的CSS设置的第二个alert()
时:
tbody
它会打印预期值:$(this).next().css('display', 'table-row-group');
并且它已正确设置,因为我看到了警告弹出窗口,并在其下方正确呈现了我的页面
当我点击提示弹出窗口的确定按钮时,它会消失,我的table-row-group
元素会出现一些可视化问题,特别是tbody
元素设置了{{1}而不是tbody
,这是我获得的style="display: block;"
似乎Chrome首先正确设置了style="display: table-row-group;"
(因为我看到tbody
元素位于第二个警告弹出窗口下的正确位置),然后在确定时自动将其设置为display: table-row-group;"
单击此弹出窗口的按钮。
为什么呢?我错过了什么?我该如何解决这个问题?
由于
答案 0 :(得分:2)
10000000 em
会导致css错误。
将其更改为10000000em
http://jsfiddle.net/Mephiztopheles/0nh72pg0/
当您尝试此链接时,它是否也会删除表格显示?
任何其他可以删除样式属性的功能?
是否删除了样式属性?
答案 1 :(得分:1)
我认为Chrome没有任何理由重置您的风格;错误可能是代码中的其他地方。创建一个最小的示例,以确保没有第二个事件处理程序执行此意外重置。
接下来就是禁用插件。您可能在Chrome中安装了一个更改CSS的插件。
答案 2 :(得分:0)
这可能发生,因为警报在chrome的事件中更为重要。如果你试试这会怎么样?
$(document).ready(function () {
$("thead.opening").click(function () {
var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
alert("INTO second function, chrome: " + is_chrome);
$(this).next().css({
width: '10000000em',
display: 'table-row-group'
});
setTimeout( function() {
console.log($(this).next().css('display'));
});
});
});
答案 3 :(得分:0)
是否有为您的显示属性定义的其他样式? 但如果它适用于firefox,它应该适用于chrome。
你可以尝试 -$pdf->combineImages($elements);