2010-03-11 15 views

उत्तर

26
var id = $("div").attr('id').replace(/button/, ''); 
+0

बढ़िया! मुझे पूरी तरह से क्या चाहिए! धन्यवाद पाल – yosafat

11

आपका "आईडी" मान पूरी तरह से संख्यात्मक नहीं हो सकता है; उन्हें पहचानकर्ता की तरह एक पत्र या "_" से शुरू करने की आवश्यकता है। (नोट: कि नहीं सच एचटीएमएल 5 दस्तावेजों में है।) एक बार जब आप इस तरह अपने "आईडी" मूल्य में एक नंबर मिल गया है, तो आप सिर्फ आईडी प्राप्त करने के लिए jQuery attr() समारोह का प्रयोग करेंगे:

var theId = parseInt($('div.whatever').attr('id').replace(/[^\d]/g, ''), 10); 
+0

क्या मैं आपको एक प्रश्न पूछ सकता हूं। क्या/[^ \ d]/जी मतलब है? –

+0

यह एक नियमित अभिव्यक्ति है। यह इस भाग के साथ किसी भी गैर-अंक से मेल खाता है: "[^ \ d]"। अंत में "जी" जावास्क्रिप्ट को स्ट्रिंग में पाए गए सभी गैर अंकों के लिए "प्रतिस्थापन" ऑपरेशन दोहराने के लिए कहता है। – Pointy

+0

यह सबसे अच्छा जवाब है। मुझे नहीं पता था कि मैं शब्दों और संख्याओं के साथ parseInt का उपयोग कर सकता था। यह सभी पाठ को फ़िल्टर करता है और सिर्फ संख्या देता है। बहुत अच्छा, और इतना आसान है – mdegges

2
// replace all non-digits with nothing 
alert($('div').attr("id").replace(/\D/g,'')); 

आप चाहें, तो आप सिर्फ अंत में संख्या को आकर्षित कर सकते हैं:

// <div id="_34_foo_555"></div> 
alert($('div').attr("id").match(/\d+$/)); 
// alerts "555" 
1

तो button एक निरंतर उपसर्ग है, तो आप ऐसा कर सकते हैं:

var number = parseInt(element.id.match(/^button(\d+)$/)[1], 10); 
1

आपको अपने विशेषता नामों (यानी, बटन -1, बटन_1) में डिलीमीटर का उपयोग करने की आदत में होना चाहिए। कई फायदों में से एक यह है कि यह क्षेत्र से एक संख्या, या कुछ अन्य जानकारी निकालने में आसान बनाता है (यानी, '-' पर स्ट्रिंग को विभाजित करके)।

0

यह एक पुरानी सवाल है, लेकिन मैं एक आईडी में एक data- विशेषता जानकारी का उपयोग कर के बजाय एन्कोडिंग के विचार जोड़ना चाहते हैं:

window.onload = function() { 
 
    var element = document.getElementById('button1'); 
 
    var number = parseInt(element.getAttribute('data-index'), 10); 
 
    console.log(number); 
 
}
<button id="button1" data-index="1"></button>

इस तरह आप डॉन ' सभी मिलान और क्या नहीं के माध्यम से जाने की जरूरत है।

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