$(function(){
$(".link").each(function(){
var spany =$('span').size();
var word = $('.button').text().length;
var a = 5;
if(a > word){
$("#control").append("small");
} else {
$("#control").append("big");
}
});
return false;
});
我遇到了jquery及其each
函数的问题。 each
没有运行
在我的例子中,我有第二个跨度5个字(大)但第一个跨度4个字(不大)。
我想输出1.span small,2.span big。如何修复我的代码才能获得此代码?
答案 0 :(得分:2)
试试这个:
$(function(){
$(".link").each(function(){
var spany =$(this).find('span').size();
var word = $(this).find('.button').text().length;
var a = 5;
if(a > word){
$("#control").append("small");
} else {
$("#control").append("big");
}
});
return false;
});
我希望这会有所帮助
答案 1 :(得分:1)
span
和.button
的当前选择器将搜索整个文档。使用$(this).find
仅在当前.link
元素下搜索:
var spany = $(this).find('span').size();
var word = $(this).find('.button').text().length;
答案 2 :(得分:0)
对于每个循环的每次迭代,您将遍历页面上的每个跨度。
检查此解决方案...... http://jsfiddle.net/GNUUH/7/