我做了这个代码:

function get_coordinates(container) {
    var x;
    var y;
    var divs = container.getElementsByTagName('div');

    Array.from(divs).forEach(div => {
        y += div.offsetTop+" ";
        x += div.offsetLeft + " ";
    });
    const a = x + ";" + y;
    console.log(divs);
    return x+";"+y;
}


这是控制台日志(log):

HTMLCollection(10) [div#selector_1.selector, div#selector_2.selector, div#selector_3.selector, div#selector_4.selector, div#selector_5.selector, div#selector_6.selector, div#selector_7.selector, div#selector_8.selector, div#selector_9.selector, div#selector_10.selector, selector_1: div#selector_1.selector, selector_2: div#selector_2.selector, selector_3: div#selector_3.selector, selector_4: div#selector_4.selector, selector_5: div#selector_5.selector, …]

这就是回报:

未定义0 0 0 0;未定义0 0 0 0 0 0 0 0 0 0 0

我不明白为什么两个开头都没有定义.

推荐答案

正如穆萨在早些时候的 comments 中所建议的,您不会初始化xy,因此基本上您要做的是:

y += div.offsetTop + " ";
x += div.offsetLeft + " ";

这就意味着

undefined += div.offsetTop + " ";
undefined += div.offsetLeft + " ";

在顶部,您应该定义xy是字符串,例如:

let x = "";
let y = "";

另外,我建议用letconst代替var,现在是2022年,所以不再需要var了.

Javascript相关问答推荐

node TS:JWT令牌签名以验证客户端和后台问题之间的身份验证

使用复选框在d3.js多折线图中添加或删除线条

未捕获错误:在注销后重定向到/login页面时找不到匹配的路由

在JavaScript中声明自定义内置元素不起作用

Msgraph用户邀请自定义邮箱模板

Google maps API通过API返回ZERO_RESULTS,以获得方向请求,但适用于Google maps

在我的html表单中的用户输入没有被传送到我的google表单中

为什么按钮会随浮动属性一起移动?

使用原型判断对象是否为类的实例

Next.js服务器端组件请求,如何发送我的cookie token?

用JS从平面文件构建树形 struct 的JSON

Puppeteer上每页的useProxy返回的不是函数/构造函数

MarkLogic-earch.suggest不返回任何值

无法避免UV:flat的插值:非法使用保留字"

WebSocketException:远程方在未完成关闭握手的情况下关闭了WebSocket连接.&#三十九岁;

FileReader()不能处理Firefox和GiB文件

无法设置RazorPay订阅API项目价格

如何动态呈现适合未知屏幕大小的最大数量的表行?苗条的

调试jQuery代码以获取所有行的总和(票证类型)

如何在父IF条件和单个IF条件中形成嵌套的三元语句