从div中删除最后一个分隔符

时间:2014-05-08 11:13:38

标签: jquery html css css3

我有以下HTML

<p><span class="dc2-order-detail-tob siebui-input-align-left">
<span class="oi-label-tob">
    <span id="DC2_Purchaser_Label">Purchaser</span>:&nbsp;
</span> 
<span id="s_7_1_1_0" tabindex="0" aria-readonly="false">&nbsp;<label id="s_7_1_1_0_Label">User esales</label></span>
  <span class="sep">|</span>
 </span>

<span class="dc2-order-detail-tob siebui-input-align-left">
      <span class="oi-label-tob">
    <span id="Status_Label">Status</span>:&nbsp;</span>
      <span id="s_7_1_9_0" tabindex="0" aria-readonly="false">&nbsp;
        <label id="s_7_1_9_0_Label">Open</label>
    </span>
      <span class="sep">|</span>
</span>

更多数据以实际形式存在,但我为了清楚起见而避免使用

我需要解决两个问题

1。 jQuery选择器,用于删除最后一个标签后面的额外sep标记。

因为表单是动态生成的,所以我们得到一个分隔符,即使在最后一个标签之后我们需要动态地使用jQuery删除它,但是我无法获得所需的选择器来执行此操作。我试过跟随选择器,但他们删除了所有分隔符

$('.sep:last-child').remove();
$('span.dc2-order-detail-tob .sep:last-child').remove();

2。打破最后一个div&#34; dc2-order-detail-tob&#34;如果完整的div不能进入同一行,则进入下一行

页面有几个动态生成的div,有时最后一个div值不能出现在同一行中,在这种情况下文本换行并看起来像

 Purchaser: Admin   |   Status: Open   |    Start-Dat
 e: 2014-02-09

我需要在那种情况下整个div应该移到下一行并且应该显示为

Purchaser: Admin   |   Status: Open   |    
Start-Date: 2014-02-09

我尝试了css 自动换行分词属性,但没有任何效果。 在jQuery中有没有办法做到这一点?

3 个答案:

答案 0 :(得分:2)

在jquery中使用 .last()

$(".sep").last().remove();

Fiddle

答案 1 :(得分:0)

回答第1部分。):

尝试以下选择器:

$(".dc2-order-detail-tob:last-child .sep:last-child").remove();

答案 2 :(得分:0)

试试这个,

$(".sep:last").remove();