जवाबों:
$(this).siblings().hide();
$("table.tr").not(this).hide();
एक तरफ के रूप में, मुझे लगता है कि आप मतलब है $("table tr")
(एक डॉट के बजाय एक स्थान के साथ)।
जिस तरह से आपके पास है, यह हर उस तालिका का चयन करता है जिसमें tr
(जैसे <table class="tr">
) की एक कक्षा होती है, जो कि शायद आप नहीं चाहते हैं।
अधिक जानकारी के लिए, दस्तावेज़ देखें ।
$('tr').not($(this).closest('tr')).hide();
यदि आप कुछ अन्य चयनकर्ताओं के साथ संयोजन नहीं करना चाहते हैं, तो आप ऐड () का उपयोग कर सकते हैं:
$('a').click(function(e){
$('a').not(this).add('#someID, .someClass, #someOtherID').animate({'opacity':0}, 800);
});
यह अन्य सभी लिंक को फीका कर देगा, लेकिन क्लिक किए गए, और इसके अलावा कुछ चुने हुए आईडी और कक्षाओं को भी फीका कर देगा।
मुझे लगता है कि एक समाधान यह हो सकता है:
$("table.tr").click(function() {
$("table.tr:not(" + $(this).attr("id") + "").hide(); // $(this) is only to illustrate my problem
$(this).show();
})
- टिप्पणी के लिए संपादित करें:
$("table.tr").click(function() {
$("table.tr:not(#" + $(this).attr("id") + ")").hide(); // $(this) is only to illustrate my problem
$(this).show();
})
:not(#" + ...
। इसके अलावा, यह तब तक काम नहीं करेगा जब तक कि तत्व में आईडी न हो, जिसकी संभावना नहीं है।