如果文本溢出,如何从<li>中删除第一个单词?

时间:2015-10-23 06:56:59

标签: jquery html css

我想删除<li>中的第一个单词,只要文字溢出来。

Here is my nav bar

有什么想法吗?

这是我的代码。

<div class="box-heading box-sections box-block">
    <div class="nav">
        <ul id="menu">
            <?php foreach ($products as $product){ ?>
            <li><a href="#Section<?php echo $product['product_id']; ?>"><?php echo $product['name']; ?></a></li>
            <?php } ?>
        </ul>
    </div>
</div>

我希望我的<li>显示ANIMALS,CARS,CITYSCAPE并从中删除“CUSTOM”。

2 个答案:

答案 0 :(得分:4)

最后我得到了解决方案,这是期望的效果吗?

<强> Fiddle

$('#menu li > a').each(function(){
    var element = $(this);
    if(element[0].offsetWidth < element[0].scrollWidth){
        $(this).text(element[0].innerText.split(' ').splice(1,1));
    }
});

答案 1 :(得分:3)

如果一个菜单项文本超出给定宽度,则程序下面的所有项目将从菜单中删除所有项目。 fiddle

var items = $("#menu li a");

 items.each(function(index, item){
   if($(item)[0].offsetWidth < $(item)[0].scrollWidth){

   //remove first word in all items tabs
   items.each(function(index, item){
       $(item).text($(item).text().split(" ").splice(1,1)[0]);
   });

   //break main each loop
   return false;
   }
});