获取<a> inside an <li></li></a>的字符串长度

时间:2011-08-07 11:34:39

标签: jquery html

我需要根据<li><a>的子元素的最大字符串长度来设置<li>的宽度。

<ul id="hi">
    <li class="">
        <a >Maintenance</a>
    </li>
    <li class="">
        <a >Query</a>
    </li>
    <li class="">
        <a >Approve Level </a>
    </li>
    <li class="">
        <a >Reverse</a>
    </li>
    <li class="">
        <a >Refund Charges</a>
    </li>
    <li class="">
        <a > Update After </a>
    </li>
    <li class="">
        <a > Update After  Update After  Update After  Update</a>
    </li>
</ul>

我只想获得<a>的最大字符串宽度(在上面的情况中为<a>并通过脚本设置所有<li>的宽度。请给我一个解决方案

2 个答案:

答案 0 :(得分:2)

试试这个

var len, maxLen = 0;
$("#hi a").each(function(){
  len = $(this).text().length;
  if(len > maxLen)
    maxLen = len;
});

$("#hi li").css("width", len*10);//Set the apprpriate multiplier here or some base width, but now you have the largest lenth here

答案 1 :(得分:2)

此jQuery代码段会将最长字符串的长度保存到max

var length, max = 0;
$('#hi li a').each(function(){
    length = $(this).text().length;
    max = length > max ? length : max;
});

可以找到示例here