2011-12-15 29 views
6

मुझे jquery से जांचना होगा कि एंकर तत्व में केवल टेक्स्ट है और कोई अन्य टैग (आईएमजी, बी) या कोई और चीज़ नहीं है।jquery - तत्व ढूंढें जिसमें केवल टेक्स्ट है और कोई अन्य HTML टैग नहीं है

<a href="">TV</a> 

पाया जाना चाहिए, लेकिन:

<a href=""><img /></a> 

या:

<a href=""><span>TV</span></a> 

या किसी अन्य HTML टैग, नहीं मिला दिया जाना चाहिए।

मैं यह कैसे कर सकता हूं?

अग्रिम धन्यवाद।

उत्तर

11

हम filter() फ़ंक्शन का उपयोग उन तत्वों को निकालने के लिए कर सकते हैं जिनमें बच्चे हैं (children() विधि का उपयोग करके चेक किया गया है)।

var emptyAs = $('a').filter(function() { 
    return $(this).children().length == 0; 
}); 

तुम भी :not() selector:has() selector के साथ संयुक्त इस्तेमाल कर सकते हैं;

var moreEmptyAs = $('a:not(:has(*))'); 

आप इन निम्नलिखित JSFiddle में काम कर के दोनों को देख सकते हैं; http://jsfiddle.net/JD67U/

+0

आपको बहुत बहुत धन्यवाद! – Ovi

-2

आप .text() कोशिश कर सकते हैं यह केवल पाठ बच निकलता है और हर एचटीएमएल कोड को समाप्त।

var pureText=$('a').text(); 
+1

पूछताछ फ़िल्टर नहीं करना चाहता; वह जांचना चाहता है। –

+0

क्या मैं किसी भी कोड लाइन में फ़िल्टर का उल्लेख करता हूं? –