0

我希望它控制每个 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')
        }
    }
});
4

2 回答 2

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

小提琴

于 2013-05-22T14:47:19.780 回答
0

Try this:

$(document).ready(function(){
    $("#menu a").each(function() {
        if($(this).text().length>5){
            $(this).parent().addClass('long');
        }
    });
});
于 2013-05-22T14:57:57.723 回答