2011-02-11 15 views
10

मेरे पास है:jQuery मूल्य चयनकर्ता

<button class="Delete" value="1">Delete</button> 
<button class="Delete" value="2">Delete</button> 
<button class="Delete" value="3">Delete</button> 

को देखते हुए चर एक्स कि (इस मामले में या तो एक 1, 2 या 3 में) एक मूल्य होता है, तो मैं कैसे बटन में मान के संगत छिपाऊँ एक्स?

मैं कहना चाहता हूँ कुछ की तरह:

$('button').val(x).hide(); 

अर्थ: "बटन जिसका मान x, छिपाने"।

उत्तर

34
$('button[value="' + x + '"]').hide(); 
6

आप वास्तविक चयनकर्ता की है कि अंदर करना चाहते हैं:

$('button[value="foo"]').hide(); 
+0

मैं गलत हो सकता हूं, लेकिन यह "मूल्य" नहीं होगा, क्योंकि यह टैग के गुणों तक पहुंचने का शॉर्टकट है? –

+0

हूप्स। सोच क्षमता थोड़ा कम है ... – Blender

+0

अरे, मेरा जवाब जादुई रूप से तय है;) – Blender

1

यह एक xpath में एक्स श्रृंखलाबद्ध की आवश्यकता होगी, लेकिन मैं एक और तरीका है की अभी सोच भी नहीं सकते।

$ (बटन [मूल्य = '1'])। छुपाएं();

संपादित करें: हटाया @, जाहिरा तौर पर बहिष्कृत, ज्यादा अपने आप की तरह :)

+1

jQuery @ 1.2 के बाद '@' को हटा दिया गया था। ; ओ) – user113716

7

आप अपने स्वयं के कस्टम चयनकर्ता लिख ​​सकते हैं (मैं सिर्फ महसूस किया कोई यह उल्लेख करना चाहिए)। की तरह लग सकता है:

(function($) { 
    $.extend($.expr[':'], { 
     val: function(elem, i, attr) { 
      return elem.value === attr[3]; 
     } 
    }); 
}(jQuery)); 

$('button:val(2)').hide(); 
0

तुम भी मैन्युअल रूप से बटन को मान निर्दिष्ट करने की जरूरत नहीं:

var i = 0; $('.Delete').attr('value', function() {i++; return ''+i;}); 

आप अंति यह करना होगा। अब आपके बटन मान गिने गए हैं। लेकिन कोई बात नहीं, (! तुम भी मूल्यों की जरूरत नहीं है) आप छिपा कर सकते हैं 'इस पर क्लिक किया बटन' करके:

$(".Delete").click(function() { 
$(this).html("DELETED!").delay(900).slideUp(600).hide(); 
}); 

मैं एनीमेशन का एक सा जोड़ दिया है। या दोनों को गठबंधन करें! सीआईओओ :)

संबंधित मुद्दे