Не так работает код 
		
		
		
		<table border="1"> <tr> <td width="100" height="100" bgcolor="red">red</td> <td width="100" height="100" bgcolor="red">red</td> <td width="100" height="100" bgcolor="red">red</td> </tr> <td width="100" height="100" bgcolor="green">green</td> <td width="100" height="100" bgcolor="green">green</td> <td width="100" height="100" bgcolor="green">green</td> </table> 
$('button').click(function() {
$('td').each(function() {
if($('td').attr("bgcolor")=='red') {
$('td').attr("bgcolor","yellow");
};
});
});
Должно изменить цвет только у тех, у кого bgcolor = red. Но изменяет цвет у всех. Что не так?  | 
	
		
 так попробуйте 
	
if($(this).attr("bgcolor")=='red') {
$(this).attr("bgcolor","yellow");
 | 
	
		
 Да, так действительно работает. Но в чем разница, почему через this работает а так нет, ведь оба одно и тоже. 
	 | 
	
		
 $('td').attr("bgcolor","yellow") 
	Вы всем элементам td присваиваете новый цвет а не только выбранному поэтому когда используем each нужно пользоваться для конкретного экземпляра this  | 
	
		
 Ну так я ведь пишу, изменять только те td у кого bgcolor == red, или это не имеет значения? нужно всегда через this? 
	 | 
	
		
 аа.. Щас понял, спасибо 
	 | 
| Часовой пояс GMT +3, время: 18:55. |