javascript style.left返回未定义?

javascript style.left返回未定义?,javascript,return,undefined,Javascript,Return,Undefined,我已将css左选择器的值设置为20%,但未定义 我的代码: 您需要删除错误值 $("#item1").click(function(){ console.log(document.getElementById("item1").style.left); }); 在这种情况下,该值是且不是未定义的 如果你不想得到计算出的值,你会这样做 $("#item1").click(function(){ var element = document.getElementByI

我已将css左选择器的值设置为20%,但未定义

我的代码:

您需要删除错误值

  $("#item1").click(function(){
    console.log(document.getElementById("item1").style.left);
  });
在这种情况下,该值是且不是未定义的

如果你不想得到计算出的值,你会这样做

  $("#item1").click(function(){
     var element = document.getElementById("item1");
     console.log( window.getComputedStyle( element ).left );
  });
或者使用jQuery

如果你想计算百分比,那么你可以这样做

  $("#item1").click(function(){
     var parent = $(this).parent().width();
     console.log( 100 * $(this).width() / parent );

  });
element.style仅包含内联样式或直接应用于该元素的样式

要获取计算样式(包括从样式表继承的样式),可以使用jQuery的:


或者,对于本机解决方案,请参见。

,但我的左值仍然是20%,为什么我得到的是空字符串呢?您不能立即得到20%
  $("#item1").click(function(){
     console.log( $(this).css('left') );
  });
  $("#item1").click(function(){
     var parent = $(this).parent().width();
     console.log( 100 * $(this).width() / parent );

  });
$('#item1').click(function(){
  console.log($(this).css('left'));
});