【发布时间】:2018-03-14 12:35:44
【问题描述】:
我正在使用 javascript 在文本行上上下移动,当我在 Chrome 上运行时,它会在控制台错误浏览器上出现问题
function up_move(index) {
var frm = document.writeForm;
var opts = frm["ans_list" + index].options
for (var i = 0; i < opts.length; i++) {
if (opts[i].selected && i > 0) {
tmp = opts[i].cloneNode(true);
opts[i].removeChild(opts[i].childNodes[0]);
opts[i - 1].insertAdjacentElement("beforeBegin", tmp).selected = true;
}
}
setting_val(index);
}
function down_move(index) {
var frm = document.writeForm;
var opts = frm["ans_list" + index].options
for (var i = opts.length - 1; i >= 0; i--) {
if (opts[i].selected && i < opts.length - 1) {
tmp = opts[i].cloneNode(true);
opts[i].removeChild(opts[i].childNodes[0]);
opts[i].insertAdjacentElement("afterEnd", tmp).selected = true;
}
}
setting_val(index);
}
<a href="#" onClick="javasript:up_move('1');" style="float:left"><span class="bt_test_admin bg_type_01">▲ Order</span></a>
<a href="#" onClick="javasript:down_move('2');" style="float:left"><span class="bt_test_admin bg_type_01">▼ Order</span></a>
这是控制台浏览器上的错误:
未捕获的类型错误:无法在“节点”上执行“removeChild”:参数 1 不是“节点”类型。
在 up_move (write_form.jsp:367)
如何解决这个错误?
【问题讨论】:
-
我在 sn-p 中添加了您的代码,但它似乎会产生不同的错误,因为问题缺少很多相关的 HTML。您能否编辑您显示的代码,以便它显示您遇到的确切问题。
-
好吧,当它需要一个节点时,您将
true传递给removeChild。 -
Tks @Utkanos:你的意思是什么?我应该删除“真”吗?
-
removeChild()期望一个节点作为它的唯一参数;您传递的是布尔值,而不是节点。所以,你用错了。
标签: javascript jquery html jquery-ui