Javascript 循环浏览标题,并对超过特定字符长度的所有标题进行处理
我知道如何计数字符:Javascript 循环浏览标题,并对超过特定字符长度的所有标题进行处理,javascript,jquery,loops,each,Javascript,Jquery,Loops,Each,我知道如何计数字符:$('.caption text p').text().length,我知道向元素添加类:$('.caption text p').css('color','yellow'),我很确定我知道如何编写if,至少我希望如此。但我无法连接循环中的所有这些 我需要遍历所有的.caption文本段落标记,并为少于5个字符的段落添加颜色 我想我很接近了,但是任何帮助都是非常感谢的 captions = $('.caption-text p'); captions.each(functio
$('.caption text p').text().length
,我知道向元素添加类:$('.caption text p').css('color','yellow')代码>,我很确定我知道如何编写if,至少我希望如此。但我无法连接循环中的所有这些
我需要遍历所有的.caption文本段落标记,并为少于5个字符的段落添加颜色
我想我很接近了,但是任何帮助都是非常感谢的
captions = $('.caption-text p');
captions.each(function(){
if (captions.text().length < 5){
$(this).css('color', "yellow");
}
captions=$('.caption text p');
标题。每个(函数(){
if(captions.text().长度<5){
$(this.css('color','yellow');
}
您需要在每个循环中参考此:
captions = $('.caption-text p');
captions.each(function(){
if ($(this).text().length < 5){
$(this).css('color', "yellow");
}
});
captions=$('.caption text p');
标题。每个(函数(){
if($(this).text().length<5){
$(this.css('color','yellow');
}
});
你不需要处理这个(如果你想调用另一个函数来改变这个的意思),你可以改为…每个(函数(索引,元素){/*元素是这个迭代的元素*/})
@shadowcroper,在每个循环中,这个将引用当前元素。是的,你可以命名它,但这确实超出了这个问题的范围,在这种情况下是不必要的。@smemy你是对的,这个引用元素,但是jQuery
的每个函数都是为传递而构建的您可能会认为jQuery('.foo')。每个(my.namespace.foodhandler.handleFoo);
都会有一个不同的this
(例如my.namespace.foodhandler
)。如果您使用每个
方法提供的参数,您将消除围绕这个
的定义的模糊性@ShadowScreer,jquery每个循环几乎总是非常小,并且在这方面没有太多的模糊性-至少在我看来,在这样的情况下,没有理由让它更详细。无论您是否命名它,此
将引用循环中的当前元素(它不会是循环外部的持久化此
值)。您唯一需要创建指向该元素的另一个指针的时间是如果您有另一个(子函数)在每个函数中,您需要从该函数中访问它。