亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

文本區域,刪除最后一段

文本區域,刪除最后一段

藍山帝景 2023-10-20 15:06:28
我想從文本區域中刪除最后一段,但我的腳本只能運行一次 - 有沒有辦法在每次單擊按鈕時刪除最后一段?<!DOCTYPE html><html><body><textarea id="V1" rows="17" cols="65">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque tincidunt scelerisque libero. Sed convallis magna eu sem. Pellentesque sapien. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Integer imperdiet lectus quis justo. Et harum quidem rerum facilis est et expedita distinctio. Duis viverra diam non justo. Aliquam erat volutpat. Aenean placerat. Nullam justo enim, consectetuer nec, ullamcorper ac, vestibulum in, elit. In convallis.</textarea><button onclick="remove()">Remove</button><script>function remove() {var elem = document.getElementById('V1'),val = elem.value.split(/(?:\r\n|\r|\n)/g);val.pop();elem.value = val.join('\r\n') + ('\r\n');}</script></body></html>
查看完整描述

4 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

\r\n您最后要添加一個序列。后續調用只會刪除該部分。如果你省略這個并修剪文本,它應該可以工作:


<!DOCTYPE html>

<html>

<body>


<textarea id="V1" rows="17" cols="65">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque tincidunt scelerisque libero. Sed convallis magna eu sem. Pellentesque sapien. 


Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. 


Integer imperdiet lectus quis justo. Et harum quidem rerum facilis est et expedita distinctio. Duis viverra diam non justo. 


Aliquam erat volutpat. Aenean placerat. Nullam justo enim, consectetuer nec, ullamcorper ac, vestibulum in, elit. In convallis.</textarea>


<button onclick="remove()">Remove</button>


<script>

function remove() {

  var elem = document.getElementById('V1'),

  val = elem.value.split(/(?:\r\n|\r|\n)/g);

  val.pop();

  elem.value = val.join('\r\n').trim();

}

</script>


</body>

</html>


查看完整回答
反對 回復 2023-10-20
?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

這可以使用該方法來完成filter()。刪除后,行之間的間距將保留。


function remove() {

  var elem = document.getElementById('V1'),

  val = elem.value.split(/(?:\r\n|\r|\n)/g).filter(function(i){

  return i;

  });

  val.pop();

  elem.value = val.join('\n\r');

}

<textarea id="V1" rows="17" cols="65">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque tincidunt scelerisque libero. Sed convallis magna eu sem. Pellentesque sapien. 


Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. 


Integer imperdiet lectus quis justo. Et harum quidem rerum facilis est et expedita distinctio. Duis viverra diam non justo. 


Aliquam erat volutpat. Aenean placerat. Nullam justo enim, consectetuer nec, ullamcorper ac, vestibulum in, elit. In convallis.</textarea>


<button onclick="remove()">Remove</button>


查看完整回答
反對 回復 2023-10-20
?
MYYA

TA貢獻1868條經驗 獲得超4個贊

<!DOCTYPE html>

<html>

<body>

    

    <textarea id="V1" rows="17" cols="65">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque tincidunt scelerisque libero. Sed convallis magna eu sem. Pellentesque sapien.

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Integer imperdiet lectus quis justo. Et harum quidem rerum facilis est et expedita distinctio. Duis viverra diam non justo. 

Aliquam erat volutpat. Aenean placerat. Nullam justo enim, consectetuer nec, ullamcorper ac, vestibulum in, elit. In convallis.</textarea>

    

    <button onclick="remove()">Remove</button>

    

    <script>

        function remove() {

            var elem = document.getElementById('V1'),

        val = elem.value.split("\n");

            val.pop();

            elem.value = val.join("\n");

        }

    

    </script>

    

</body>

</html>


查看完整回答
反對 回復 2023-10-20
?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

您必須使用filter空字符串,因為pop要刪除數組的最后一項,但有時您的最后一項是這樣的:""

為了實現這一點,我使用了雙爆炸!!?它根據值返回一個布爾值。


因此,我添加了 +1\r\njoin保留空行。

function remove() {

? var elem = document.getElementById('V1');

? var val = elem.value.split(/(?:\r\n|\r|\n)/g).filter(paragraph => !!paragraph);


? val.pop();


? elem.value = val.join('\r\n\r\n');

}


查看完整回答
反對 回復 2023-10-20
  • 4 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號