如果Innerhtml长度更大,则将class添加到其元素中

时间:2013-05-22 14:43:32

标签: jquery parent innerhtml addclass

我希望它控制每个LI A中的文本长度,如果它大于5,则自动添加一个类' long'对应的LI。到目前为止我有这个,但没有工作:

HTML:

<ul id="menu">
    <li><a href="">Kodu</a></li>
    <li><a href="">VägaPikkSõna</a></li>
    <li><a href="">Teenused</a></li>
    <li><a href="">Kontakt</a></li>
</ul>

脚本:

$(document).ready(function(){
    var x = document.getElementById('menu').getElementsByTagName('a');

    for(i=0; i<x.length; i++){              
        if(x[i].innerHTML.length > 5){
            $(this).parent().addClass('long')
        }
    }
});

2 个答案:

答案 0 :(得分:3)

$(document).ready(function(){
    $('#menu a').addClass(function() {
        return this.innerHTML.length > 5 ? 'long' : '';
    });
});

FIDDLE

答案 1 :(得分:0)

试试这个:

$(document).ready(function(){
    $("#menu a").each(function() {
        if($(this).text().length>5){
            $(this).parent().addClass('long');
        }
    });
});