2017-10-03 29 views
0

javascriptを使用してテキスト行を下に移動します。'Node'で 'removeChild'を実行できませんでした。パラメータ1のタイプがNodeではありません。

Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'.
at up_move (write_form.jsp:367)

どのようにこのエラーを修正する:

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>

このコンソールブラウザ上のバグがあるバグブラウザ

+0

私はスニペットにコードを追加して、まだ疑問が欠落しているとして、別のエラーを生成しているようです関連するHTMLの多く。表示したコードを編集して、正確な問題が表示されるようにしてください。 –

+0

ノードが必要なときに、 'removeChild'に' true'を渡しています。 – Utkanos

+0

Tks @Utkanos:あなたの意味は?私は '真実'を取り除くべきでしょうか? – luongkhanh

答えて

1

removeChildの構文を修正する必要があります。それはこのようになります

opts[i].removeChild(opts[i].childNodes[0]); 

それはoptsの最初の子ノードを削除します[i]を

+0

こんにちは@Abhilasha:上記のようにソースと結果を更新しましたが、テキストの下に並べることができますが、期待どおりではありません – luongkhanh

+0

必要なHTMLコードを共有できますか?例えば、 "ans_list + {index}"のタグ – Abhilasha

関連する問題