<ul class="taglib-ratings thumbs">
<li id="qezr_yourRating">
<a href="javascript:;" class="rating rate-up "></a>
</li>
</ul>
<ul class="taglib-ratings thumbs">
<li id="qezr_yourRating">
<a href="javascript:;" class="rating rate-up "></a>
</li>
<li id="qezr_yourRating">
<a href="javascript:;" class="rating rate-up "></a>
</li>
</ul>
我希望在内部LI的计数的基础上将该类应用于UL。
如果它有两个LI,那么这个类应该像两个拇指 就好像它有一个LI那么这个类应该像一个拇指
我正在尝试这个JS,但没有工作它返回2
jQuery(document).ready(function(){
var countLi = $(".taglib-ratings > li").size();
alert(countLi);
if(countLi == 2)
{
$(this).parent('.taglib-ratings').addClass('2-col');
alert ('this ul has 2 li');
}
else if(countLi == 1)
{
$(this).parent('.taglib-ratings').addClass('2-col');
alert ('this ul has 1 li');
}
else if(countLi > 2)
{
alert ('this ul has'+ countLi +' li');
}
});
这是指向它的JSbin链接。
答案 0 :(得分:3)
你的代码不能补充你的解释...你说你想要x-thumbs,但代码提取没有做那样的事情?
你的意思是这样吗?
$('ul.tablib-ratings').addClass(function () {
return 'thumbs-' + $(this).children('li').size();
});
你在这里得到的是“thumbs-1”而不是“one-thumbs”,因为它容易了1,000,000倍,并且在评论中注意到,很多浏览器都不会欣赏1-thumbs
你在这里得到的是“1-thumbs”而不是“one-thumbs”,因为它容易了1,000,000倍:P
答案 1 :(得分:1)
如果我理解你要做的事情,那么这里有一个非常明显的错误:
else if(countLi == 1)
{
$(this).parent('.taglib-ratings').addClass('2-col'); // shouldn't this be 1-col?
alert('this ul has 1 li');
}
答案 2 :(得分:0)
您正在使用类li
计算嵌套在代码中的taglib-ratings
的总数。相反,您需要遍历该类的每个ul
,然后计算该特定li
ul
的数量
答案 3 :(得分:0)
$('ul.tablib-ratings').each(function(i,ul){
li_amount = $(ul).find('li').length;
$(ul).addClass(li_amount+"-thumbs");
});
这将检查所有ul.tablib-ratings
,并根据li
金额添加课程。但是,类名称将类似于1-thumbs
,2-thumbs
等...但您可以使用几行代码轻松将数字映射到其书面版本。
希望它有所帮助, 思南。
答案 4 :(得分:0)
$(".taglib-ratings").each(function(){
if ($(this).children('li').size() == 2 )
{
$(this).addClass('Two');
$(this).append('Two');
}
else if ($(this).children('li').size() == 1 )
{
$(this).addClass('one');
$(this).append('One');
}
});