如何删除内部满足跨度的整个span元素?

时间:2012-08-29 07:06:18

标签: javascript jquery html css contenteditable

我有一个满足的div。在里面,我已经把一个'分数'跨度,关于this link。这是我当前的代码(跨度中的数字只是虚拟数字):

<span style="display:inline-block; vertical-align:middle;" contenteditable="false">
  <span style="display:block; min-width: 20px;border-bottom:1px solid black; text-align: center; outline: none;" contenteditable>6</span>
  <span style="display:block; min-width: 20px;text-align: center;outline: none;" contenteditable>7</span>
</span>

我的问题是,当我尝试删除这个&#39;分数&#39; span(外跨区,它应该是可删除的,因为这是一个数学WYSIWYG程序),它只是删除了两个内部可满足跨度的内容。当我尝试删除它时(显然是从外部跨度外部但在可疑的div内),我想要删除所有三个元素。我不希望外跨仍然挥之不去。

任何解决方案?

UPDATE:如果无法做到这一点,当用户按下大分数跨度旁边的删除键时,有没有办法选择整个span元素及其内容?

1 个答案:

答案 0 :(得分:3)

只需为顶部范围提供ID:

<span id="editfraction" 
      style="display:inline-block; vertical-align:middle;" 
      contenteditable="false">

并使用它来删除它:

$('#editfraction').remove();

如果要在用户按下删除按钮时删除范围,请使用id,并结合contentEditable spans上的数据属性。

<span ... data-ondeleteId="#editx" contenteditable>6</span>

请参阅this jsfiddle以获取示例