我有for-loop
appends
div
元素。在for-loop
中,我想将offset().left
传递给变量。每当我这样做时,for-loop
退出。如果我删除.left
,则可以正常使用。
如何在循环中添加.offset().top;
而不退出?
var vals = 5;
for (var i = 0; i <= vals; i++) {
var el = $('<div>' + i + '</div>');
$('#hello').append(el);
var nothing = $('#nothing').offset().left; // If you comment out ".left" it works fine
}
div {
background-color: yellowGreen;
width: 100px;
height: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="hello"></div>
答案 0 :(得分:2)
对于记录,你的循环提前退出的原因是你遇到了运行时错误,即:
“Uncaught TypeError:无法读取未定义的属性'left'”
这可能是因为页面上不存在id = nothing的元素。如果您的选择器没有捕获DOM元素,Sub ConvertToHyperlink()
With Worksheets(1)
.Hyperlinks.Add Anchor:=.Range("e5"), _
Address:=.Range("f5"), _
ScreenTip:="test web site"
End With
End Sub
将返回$(asdf).offset()
。