window.getSelection()列表项的deleteFromDocument

时间:2016-09-13 11:17:43

标签: javascript selection

我的HTML代码是

 <ul>
    <li>list1</li>
    <li>list2</li>
    <li>list3</li>
    <li>list4</li>
    <li>list5</li>
  </ul>

当我选择前三个列表项并使用以下代码删除所选列表项

enter image description here

 sel = window.getSelection();
    if(!sel.isCollapsed){
        sel.deleteFromDocument();
    }

看起来如下

enter image description here

如何删除包含公告的选定列表

2 个答案:

答案 0 :(得分:0)

您可以检查空列表元素:

$('ul li').filter(function() {return $(this).text() == '';}).remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="myList">
  
  <li></li>
  <li>a</li>
  
</ul>

答案 1 :(得分:0)

我可以看到,您使用普通的Javascript,因此不使用sel.deleteFromDocument();使用sel.focusNode.parentNode.remove()

注意:如果您打算仅删除列表项,建议使用此功能。

检查以下示例。

&#13;
&#13;
document.onmouseup = onSelect;
document.onkeyup = onSelect;

function onSelect() {
  sel = window.getSelection();
  if (!sel.isCollapsed) {
    sel.focusNode.parentNode.remove();
  }
}
&#13;
<ul>
  <li>list1</li>
  <li>list2</li>
  <li>list3</li>
  <li>list4</li>
  <li>list5</li>
</ul>
&#13;
&#13;
&#13;

相关问题