【问题标题】:Pure javascript equivalent to jquery assignment [duplicate]纯javascript相当于jquery赋值[重复]
【发布时间】:2016-03-20 08:03:12
【问题描述】:

我一直试图找出这个 JQuery 代码的纯 JavaScript 版本的正确语法。

$('body').css('margin-bottom', $('footer').height());

到目前为止,我拥有的是:

var body = document.getElementById('#body');
var footer = document.getElementById('#footer');

body.style.marginBottom = footer.style.height;

仅当我在 JavaScript 中定义页脚高度时,此分配才有效。

我知道这个问题How to make a pure javascript .css() function using variable variables [duplicate] 和类似的问题,但仍然无法正确回答。我知道我可以只使用 JQuery,但我没有看到加载整个库来做非常简单的事情的价值。

提前谢谢你。

【问题讨论】:

  • 你试过去掉id前面的hash吗? getElementById('body')
  • 或者把document.getElementById('#body')改成document.querySelector('#body')
  • @battery.cord #body 不起作用,因为 body 的 id 不是“body”。
  • @Piwwoli 你确定吗?原始用户代码肯定似乎试图通过 body 的 id 获取 body 元素,只是他将代码从 jQuery 切换到纯 JS 并且从未删除 #.

标签: javascript jquery html css


【解决方案1】:

打开 JavaScript 控制台并输入 console.log(document.body.style) 以查看 document.body 具有的所有样式属性。我也认为是document.body 而不仅仅是body

Body 似乎具有以下边距属性:

margin: ""
marginBottom: ""
marginLeft: ""
marginRight: ""
marginTop: ""

例如,document.body.style.marginBottom = '15px' 应该可以工作。请记住,您必须指定单位,例如 px

【讨论】:

    【解决方案2】:

    使用偏移高度:

    body.style.marginBottom = footer.offsetHeight;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-11
      • 2012-03-02
      • 1970-01-01
      • 2012-06-22
      • 2017-06-25
      • 1970-01-01
      • 2011-12-08
      • 2017-07-01
      相关资源
      最近更新 更多