我正在尝试根据另一个元素的高度设置某些元素的高度和边距,但是它不起作用。

  function matchHeight(divName) {
    var Sheight = document.getElementById(divName).style.height;

    document.getElementById('bookmark').style.height = Sheight + '45px';
    document.getElementById('bookmarkend').style.marginTop = Sheight + '45px';
    document.getElementById('bookmarktagI').style.height = Sheight + '255px';
  }


我的功能出了什么问题?

如果可能的话,我宁愿不用jquery来做。

最佳答案

如果您的样式是内联设置的,即<div style="height: 100px;"></div>,那么很可能您的问题是解析height样式值。在这种情况下,Sheight将是"100px",它将简单地与其他值连接起来,形成100px45px之类的东西,这并不是很好。

要解决该问题,请使用parseInt将值解析为整数,并使用正确的加法:

var Sheight = parseInt(document.getElementById(divName).style.height, 10);
document.getElementById('bookmark').style.height = (Sheight + 45) + 'px';

10-06 00:15