我能';在javascript中无法获取div的宽度

我能';在javascript中无法获取div的宽度,javascript,Javascript,我的代码将div定位在鼠标当时所在的位置,如果div太靠近页面的右侧,则应该将div向左移动与其宽度相同的量。但我似乎无法获得div的宽度。以下是我的代码: function position(e) { document.getElementById(tt).style.visibility = "visible"; if (document.body && document.body.offsetWidth) { var winW = document.body

我的代码将div定位在鼠标当时所在的位置,如果div太靠近页面的右侧,则应该将div向左移动与其宽度相同的量。但我似乎无法获得div的宽度。以下是我的代码:

function position(e) {
  document.getElementById(tt).style.visibility = "visible";
  if (document.body && document.body.offsetWidth) {
    var winW = document.body.offsetWidth;
    var winH = document.body.offsetHeight;
  }
  if (e.pageX || e.pageY) {
    l = e.pageX;
    u = e.pageY;
  } else if (e.clientX || e.clientY) {
    l = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
    u = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
  }
  var divL = document.getElementById(tt).style.width;
  if ((winW - l) <= 320) {
    l = l - divL;
  }
  document.getElementById(tt).style.top = (u + 10) + 'px';
  document.getElementById(tt).style.left = (l + 10) + 'px';

}
功能位置(e){
document.getElementById(tt.style.visibility=“可见”;
if(document.body&&document.body.offsetWidth){
var winW=document.body.offsetWidth;
var winH=document.body.offsetHeight;
}
如果(e.pageX | e.pageY){
l=e.pageX;
u=e.pageY;
}else if(e.clientX | e.clientY){
l=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;
u=e.clientY+document.body.scrollTop+document.documentElement.scrollTop;
}
var divL=document.getElementById(tt).style.width;

如果((winW-l)哪一行给出了您不期望的结果,那么该行上的期望值和实际返回值是多少?我认为是这个var divL=document.getElementById(tt).style.width;我认为这给了我一个空值。对于css,我只设置了一个max width,但是div中有一些东西,所以它应该有一个宽度,对吗?如果tt不是在更大范围内声明的变量,那么您的问题就不是在它周围使用引号。
document.getElementById(tt).style.width
将只提供CSS定义的宽度。如果它不是预定义的,则会得到null。
var width = document.getElementById(tt).offsetWidth;