我有一个页面从全局样式表中收到一个很大的左边距,我不允许更改。边距实际上是由脚本/样式表内联编写的,因此我无法在我的打印样式中更改它。 我能够找到一个似乎在FF和IE中运行的jQuery解决方案,但遗憾的是不在Chrome中。 jquery函数:
$('#page').each(function(idx,el){
el.style.margin='';
});
我已经尝试了从jquery css。('margin-left','0')到使用DOM属性的所有内容,但没有任何作用!非常感谢任何帮助。
document.getElementById("page").style.margin="0";
document.getElementById("page").setAttribute("margin","0");
document.getElementById("page").setAttribute("margin-left","0");
答案 0 :(得分:2)
如果您使用的是jQuery,则应该使用jQuery函数,因为它们具有跨浏览器兼容性。
问题是您使用的是id
。 id
在您的文档中应该是唯一的。 jQuery知道您正在使用id selector
并仅更改第一个元素。
改为使用班级。看看我创建的jsFiddle演示。
<强>的CSS 强>
.page { margin: 10px }
<强>的jQuery 强>
$('.page').css("margin", "");
w3c说:id属性指定HTML元素的唯一ID(id属性值在HTML文档中必须是唯一的。)
但是好的,你说该页面是现有页面,你不想从id
更改为`class。这不是标准的,也不适合搜索引擎优化。
您可以执行此操作以使其与id
一起使用。
<强> HTML 强>
<div style="margin: 10px" id="page">div1</div>
<div style="margin: 10px" id="page">div2</div>
<强>的jQuery 强>
$('[id="page"]').css("margin", "");
答案 1 :(得分:1)
如果您的全球样式表中的保证金未标记为!important,并且您可以在页面中编写CSS样式,请尝试在页面中设置保证金,如下所示
#page {
margin: 0px !important;
}