Как я могу выполнить действие только на div, когда у меня есть несколько div с тем же классом - PullRequest
2 голосов
/ 21 января 2012

Как я могу выполнить действие только для div, когда у меня есть несколько div с одним и тем же классом

http://jsfiddle.net/kent93/Qw7bw/

, когда мышь вводит один div, другой div также будет иметьДействие, как я могу решить это

Я хочу, чтобы только Div, что моя мышь идет в действие, а не другое, какое лучшее решение?

Ответы [ 5 ]

6 голосов
/ 21 января 2012

Измените селектор каждой позиции на: $(this).children(".class")

, например, код $(".fromTopToBottom") изменится на $(this).children(".fromTopToBottom")

Демо: http://jsfiddle.net/Qw7bw/10/

2 голосов
/ 21 января 2012

очень просто, используйте $ (this), например

$('.mydivclass').mouseover(function(e){
    $(this).css('color','gray'); // Current element
});

Если div вложены, то вам следует использовать e.stopPropagation (), чтобы прекратить передачу событий.

1 голос
/ 21 января 2012

То, что вам нужно, это «текущая» концепция div.

  1. В начале обработчика указателя мыши:

    $ (". Trbl"). RemoveClass ("current");$ (this) .addClass ("current");

  2. В вашем случае, $(".fromTopToBottom").css({...}) -> $(".current .fromTopToBottom").css({...})

эффект проверить http://jsfiddle.net/Qw7bw/7/

0 голосов
/ 21 января 2012

Используйте $(this).children(".fromTopToBottom") вместо $(".fromTopToBottom").

Это выберет div данного класса внутри элемента, чей обработчик вы пишете.

0 голосов
/ 21 января 2012

Используйте $ (this) .find (x) вместо $ (x) напрямую при выборе ".fromTopToBottom" и подобных классов.Это позволяет jQuery выбирать только дочерние элементы элемента поиска http://jsfiddle.net/Qw7bw/6/

...