2013-01-24 34 views
19

है, तो मैं किसी विशेष तत्व स्ट्रिंग वाले किसी भी तत्व को लाल रंग में बदलने की कोशिश कर रहा हूं। मेरे उदाहरण में मैं बाल तत्वों को नीला बन सकता हूं, लेकिन जिस तरह से मैंने 'मुझे बदलें' पंक्ति लिखा है, गलत है; लाल रंग परिवर्तन नहीं होता है। मुझे लगता है कि "शामिल" विधि आमतौर पर :contains के रूप में लिखी जाती है लेकिन मुझे $(this) के साथ सत्यापित करने के लिए यह प्राप्त नहीं हो सका।jQuery अगर "इस" में

$('#main-content-panel .entry').each(function() { 
     $(this).css('color', 'blue');  
});   

$('#main-content-panel .entry').each(function() { 
    if($(this).contains("Replace Me").length > 0) { 
     $(this).css('color', 'red'); 
    }  
}); 

फिडल: http://jsfiddle.net/zatHH/

उत्तर

58

:contains एक चयनकर्ता है। एक चयनकर्ता दिया चर पर लागू होता है, तो जाँच करने के लिए, आप is उपयोग कर सकते हैं:

if($(this).is(':contains("Replace Me")')) 

हालांकि वेगा के समाधान इस मामले में क्लीनर है।

+0

धन्यवाद यह $ (इस) +1 –

+1

के लिए आवश्यक है यह सशर्त कथन प्रसंस्करण के लिए एकदम सही है। धन्यवाद – blackhawk

+0

एक jquery वैरिएबल का उपयोग करते समय शानदार काम करता है, जैसे '$ bodyText = $ ('div.bodyText ul li p'); 'फिर इसे' if ($ bodyText.is (': include (" कुछ टेक्स्ट) के रूप में उपयोग किया जा सकता है ") '))'। इसकी प्रशंसा करना। – j4v1

16

मुझे नहीं लगता कि jQuery में एक .contains समारोह वहाँ है।.contains फ़ंक्शन है लेकिन यह फ़ंक्शन यह देखने के लिए उपयोग किया जाता है कि कोई DOM तत्व किसी अन्य DOM तत्व का वंशज है या नहीं। See documentation for .contains. (@beezir पर क्रेडिट)

मुझे लगता है कि आप :contains चयनकर्ता की तलाश में हैं। अधिक जानकारी के लिए नीचे देखें,

$('#main-content-panel .entry:contains("Replace Me")').css('color', 'red'); 

http://jsfiddle.net/zatHH/1/

11

आप match उपयोग कर सकते हैं विशेष तत्व

$('#main-content-panel .entry').each(function() { 
    if($(this).text().match('Replace Me')) { 
     $(this).css('color', 'red'); 
    }  
}); 

के अंदर का पाठ खोजने के लिए यह काम करता है देखने के Updated Fiddle

+0

इससे मेरी मदद मिली। VB.net के समान ".contains()" – CrazyPaste

+0

काम करता है लेकिन केस असंवेदनशील –

4

मुझे लगता है कि हम को लोअर केस में हमारे पाठ परिवर्तित करना चाहिए। लोअरकेस और अपरकेस के साथ जांचना बेहतर है।

$('#main-content-panel .entry').each(function() { 
    var ourText = $(this).text().toLowerCase(); // convert text to Lowercase 
    if(ourText.match('replace me')) { 
     $(this).css('color', 'red'); 
    }  
}); 
+0

बस मुझे जो चाहिए था। पहले एक चर के साथ मैच काम करने की कोशिश कर रहा था, और इससे मुझे मदद मिली। धन्यवाद। – lharby