奇数DOM树JavaScript问题

奇数DOM树JavaScript问题,javascript,dom,Javascript,Dom,我对这个网站有意见- 我正在尝试使用JavaScript构建一个简单的HTML电子邮件程序,以呈现和生成HTML,然后将其发送到页面,等等 但是,当您创建三个段落时(箱を作る) 然后尝试向上移动第三个,onclick为swapup('render2');它只是将其移动到顶部 但奇怪的是,当您粘贴swapup('render2');在控制台中,它工作得很好。当我没有以任何身份引用“this”时,为什么onclick行为会有所不同?您的问题是您调用swapup两次。请看一下HTML <spa

我对这个网站有意见-

我正在尝试使用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>
我不确定你是否有意…你能澄清一下吗

编辑2:

我认为你需要改变

elm.childNodes[0].setAttribute('onclick', 'swapup(\'' + previous.id + '\');');
previous.childNodes[0].setAttribute('onclick', 'swapup(\'' + temp + '\');');
in box.js第23-24行至

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

因为当onclick从like…swapup('render2');移动到like swapup('render1');时,我需要更改onclick上的函数。@user798080 hm…请参阅我的第二次编辑…这解决了问题吗?
elm.getElementsByTagName("input")[0].setAttribute('onclick', 'swapup(\'' + previous.id + '\');');
previous.getElementsByTagName("input")[0].setAttribute('onclick', 'swapup(\'' + temp + '\');');