gpt4 book ai didi

javascript - 奇怪的 DOM 树 JavaScript 问题

转载 作者:行者123 更新时间:2023-12-02 20:05:47 25 4
gpt4 key购买 nike

我在使用此网站时遇到问题 -

http://thestamp.umd.edu/canvastest/test.html

我正在尝试使用 JavaScript 构建一个简单的 HTML 电子邮件程序来呈现和生成 HTML,然后将其发送到页面等。

但是,当您创建三个段落(箱を作る),然后尝试将第三个段落向上移动时,onclick 为 swapup('render2');它只是将其移动到顶部。

但奇怪的是当你粘贴 swapup('render2'); 时在控制台中,它工作得很好。当我不以任何身份引用“this”时,为什么 onclick 行为会有所不同?

最佳答案

你的问题是你调用了两次 swapup 。看一下 HTML

<span class="floatbutton" onclick="swapup('render0');">
<input onclick="swapup('render2');" value="上" type="button">
<input onclick="swapdown();" value="下" type="button">
</span>

span 和 input 都在调用 swapup。看起来交换在某个点上被动态分配给跨度,这可能会导致你的问题......不过,我必须进一步挖掘才能弄清楚。

编辑:

我现在明白了。在您调用的交换函数中

elm.childNodes[0].setAttribute('onclick', 'swapup(\'' + previous.id + '\');');

我不确定您是否有意这样做...您能澄清一下吗?

编辑2:

我认为你需要改变

elm.childNodes[0].setAttribute('onclick', 'swapup(\'' + previous.id + '\');');
previous.childNodes[0].setAttribute('onclick', 'swapup(\'' + temp + '\');');

boxs.js 第 23-24 行到

elm.getElementsByTagName("input")[0].setAttribute('onclick', 'swapup(\'' + previous.id + '\');');
previous.getElementsByTagName("input")[0].setAttribute('onclick', 'swapup(\'' + temp + '\');');

关于javascript - 奇怪的 DOM 树 JavaScript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7448276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com