Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Проблема с this (https://javascript.ru/forum/jquery/9207-problema-s.html)

TonKhaO 04.05.2010 18:18

Проблема с this
 
День добрый! возникла такая проблема, я знаю в JQuery есть обьект this который ссылается на текущий элемент! у меня такая задача с помощью метода .hover() я у текущего элемента меняю цвет рамки, получается такой код

$(document).ready(function(){
     
     $("img.unhovered").hover(
  
         function () {
    
	         $(this).removeClass("unhovered").addClass("hovered");

         },
 
         function () {
    
	         $(this).removeClass("hovered").addClass("unhovered");

  
  });

 });

</script>


НО мне нужно чтобы еще один div, который является соседями с img появлялся исчезал и вот тут уже не знаю как сделать ведь this ссылается на текущий img и див с которым нужно тоже провести операции лежит по соседству, как сказать скрипту что нужно конкретный див взять?

Gvozd 04.05.2010 18:28

http://www.htmlbook.ru/html/map.html

TonKhaO 04.05.2010 18:33

Немного не так хадал вопрос, вот исправленный код! То есть есть некий див div.stuff_item, я на него навожу укзаатель и нужно чтобы его некий потомок (.hoveredDiv) появился

$("div.stuff_item").hover(
	 
	     function () {
    
	         $(this div.hoveredDiv).show();
         },
 
         function () {
    
	         $(this div.hoveredDiv).hide();
  
     }
	 
	 );


PS: я знаю что так "this div.hoveredDiv" в задании набора писать нельзя но я чтобы показать чего я хочу добиться, подскажите как выбрать потомка текущего дива?

exec 04.05.2010 19:25

$(this).children('div.hoveredDiv');

micscr 05.05.2010 08:19

exec, children - это непосредственных детей.

$(this).find('div.hoveredDiv')

TonKhaO 05.05.2010 11:30

Цитата:

Сообщение от micscr (Сообщение 54161)
exec, children - это непосредственных детей.

$(this).find('div.hoveredDiv')

не много не понял что значит "непосредственных"?

и в чем в данном случае отличио children() от find() :)

micscr 05.05.2010 12:20

TonKhaO , вам срочно учить html.:)
У любого узла могут быть дети и потомки (дети детей).

TonKhaO 05.05.2010 12:27

Цитата:

Сообщение от micscr (Сообщение 54172)
TonKhaO , вам срочно учить html.:)
У любого узла могут быть дети и потомки (дети детей).

xhtml я прекрасно знаю! тогда пардон это называется "прямых" а не "непосредственных", пардон звучит двояко ;)

exec 05.05.2010 15:24

TonKhaO, прямой потомок — это когда элемент ниже на 1 уровень в DOM.


Часовой пояс GMT +3, время: 12:23.