2011-12-30 26 views
8

Có thể kết hợp $(this) với $('.someclass') không?jQuery "this" cộng với các bộ chọn khác?

Ví dụ: $(this + ', .someclass').hover();

Tôi đang cố gắng sử dụng hành động di chuột để tạo hoạt ảnh cho lớp không phải là hậu duệ. Tôi muốn các yếu tố lớp để animate cho dù "nó", aka $ ('. Someclass') HOẶC $ (này) là hovered.

Tôi hy vọng điều này có thể được thực hiện mà không cần tạo 2 hành động di chuột riêng biệt.

+1

Nếu 'this' có' id', '$ ('#' + this.id +', .someclass') di chuột();.'. –

Trả lời

16

Bạn có thể sử dụng jQuery .add().

$(this).add('.someClass').hover(); 
+0

Cảm ơn bạn .....! –

+0

Bạn được chào đón! Vui vì tôi có thể giúp :-) –

0

Một tùy chọn khác sẽ được sử dụng jQuery find()

$(this).find('.someclass').hover(); 
+0

Điều này sẽ tìm kiếm '.someclass' như một phần tử con của' this'. Nó không tương đương với ',' trong bộ chọn. –

1

Bạn có thể sử dụng bối cảnh selector: http://api.jquery.com/jQuery/#jQuery-selector-context

$('+ .someclass', this).hover(); 

Đây là một mẫu: Di chuột qua anh chị em đầu tiên và anh chị em ruột thứ hai của màu nền sẽ được thay đổi.

$('.sibling1').hover(
 
    function() { 
 
    $('+ .sibling2', this).css({"background":"#ff0"}); 
 
    }, 
 
    function() { 
 
    $('+ .sibling2', this).css({"background":"#eee"}); 
 
    } 
 
);
div { 
 
    padding:5px; 
 
    background:#eee; 
 
    margin-bottom:5px; 
 
    display:inline-block; 
 
    cursor:pointer; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="sibling1">Sibling 1</div> 
 
<div class="sibling2">Sibling 2</div>

Các vấn đề liên quan