jQuery将page-break-inside更改为in-inside

时间:2018-11-21 10:43:01

标签: javascript jquery

首先,我对英语奇怪表示歉意。

我将Jquery 1.9与Chrome 70,Extjs 4结合使用

我只是使用jQuery函数css()来给出'page-break-inside:avoid'

但元素样式已更改为“ break-inside:avoid”

尝试

 $($(tr).find('iframe').contents()).find('table').each(function(index,tableDOM){
        $(tableDOM).css('page-break-inside','avoid');
 });

预期

<table border="1" cellpadding="1" cellspacing="1" style="width:500px; page-break-inside:avoid">

结果

<table border="1" cellpadding="1" cellspacing="1" style="width:500px; break-inside:avoid">

我不知道为什么会这样。我需要'page-break-inside'而不是'break-inside',因为evopdf无法识别'break-inside'

我能错过点什么吗?

感谢您的帮助。谢谢

1 个答案:

答案 0 :(得分:1)

确实很奇怪。如果您使用style

手动设置属性.attr(),则可以解决此问题。
$(tableDOM).attr('style','page-break-inside:avoid');

//$('table').css('page-break-inside','avoid');
$('table').attr('style','page-break-inside:avoid; width:500px;');
table
{
border: 1px solid grey;
border-collapse: collapse;
}

td,th
{
 border: 1px solid grey;
 padding: 10px;
}
<table>
  <tr><th>a</th><th>b</th><th>c</th><th>d</th><th>e</th></tr>
  <tr><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td></tr>
</table>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>