你好编码员我有以下脚本:http: //jsfiddle.net/UqDJk/241/
我希望 moveUp 函数将列表上移一位..
var moveUp = function (up, direction) {
var btn = up.target,
li = btn.parentNode;
li.insertBefore(li[1].nextSibling)
}
有没有一种简单的方法可以做到这一点?ps请纯javascript。
你好编码员我有以下脚本:http: //jsfiddle.net/UqDJk/241/
我希望 moveUp 函数将列表上移一位..
var moveUp = function (up, direction) {
var btn = up.target,
li = btn.parentNode;
li.insertBefore(li[1].nextSibling)
}
有没有一种简单的方法可以做到这一点?ps请纯javascript。
我想你想要:
li.parentNode.insertBefore(li, li.previousSibling);
但请注意,这li.previousSibling将是null第一个元素,在这种情况下,它将附加到列表中。所以你必须添加一个检查以避免移动第一个元素:
if (li.previsousSibling) {
li.parentNode.insertBefore(li, li.previousSibling);
}
您的代码中的问题:
mdn insertBefore.li[1]尝试访问 的属性1,li该属性不存在,因为li它是一个 DOM 元素对象。