我想删除<li>
中的第一个单词,只要文字溢出来。
有什么想法吗?
这是我的代码。
<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”。
答案 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;
}
});