2017-09-04 1 views
-1

私はul.liを持っていますので、ボタンを使って特定のli を1つ下に移動するボタンを作成する必要があります。 "insertAfter"リファレンスがないので、私は を次の.liとする方法を見つけることができません。parentNodeのinsertAfterを作成するには

マイコード:

HTML

<ul> 
    <li>amethyst 
    <button class="up">Up</button> 
    <button class="down">Down</button> 
    <button class="remove">Remove</button> 
    </li> 
    <li>lavender 
    <button class="up">Up</button> 
    <button class="down">Down</button> 
    <button class="remove">Remove</button> 
    </li> 
    <li>plums 
    <button class="up">Up</button> 
    <button class="down">Down</button> 
    <button class="remove">Remove</button> 
    </li> 
</ul> 

アップボタンにJSと特定のボタン

if(event.target.className == 'up') { 
    let li = event.target.parentNode; 
    var prevLi = li.previousElementSibling; 
    let ul = li.parentNode; 
    if (prevLi) {  
    ul.insertBefore(li, prevLi); 
    } 

if(event.target.className == "down") { 
    var lid = event.target.parentNode; 
    var prevLiD = li.previousElementSibling; 
    let ul = li.parentNode 
    if (prevLiD) { 
    ul.insertBefore(li, prevLi); 
    } 
+2

https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentElement –

+0

.org/en-US/docs/Web/API/Node/insertBefore:_ "referenceNodeがnullの場合、newNodeは子ノードのリストの最後に挿入されます。" _ – CBroe

答えて

0

あなたはまだinsertBeforeを使用することができます。

  • elを移動するにはアップ
    • el.parentNode.insertBefore(el, el.previousElementSibling)
    • el.parentNode.insertBefore(el.previousElementSibling, el.nextElementSibling)
  • el.nextElementSiblingを取ると)それはnullではありません確保した後、(それを上に移動、下elを移動するには:
    • el.parentNode.insertBefore(el.nextElementSibling, el)
    • el.previousElementSibling != nullていることを確認してくださいel.parentNode.insertBefore(el, el.nextElementSibling.nextElementSibling)
    • //developer.mozilla:あなただけのinsertBeforeは... HTTPSをどのように機能するかを上に読むことができた
+0

ありがとうございます。読む。 –

関連する問題