2010-04-18 13 views
5

के साथ एकाधिक div का पी मैं के पहले पैराग्राफ में कक्षा जोड़ने के लिए jQuery का उपयोग कर रहा हूं, प्रत्येक div ".djBio" की कक्षा के साथ मेरी समस्या यह है कि यह केवल प्रथम div.djBio को कक्षा जोड़ रहा है, उस वर्ग के साथ सभी divs नहीं। कोड यहाँ है। मैं भी पहले पैराग्राफ के लिए ड्रॉप टोपी जोड़ने के लिए फैंसी पत्र jQuery प्लगइन का उपयोग कर रहा है (जो भी केवल पहले div.djBio लिए आवेदन कर रहा है, सभी नहीं)Jquery/CSS - addClass पहले: निर्दिष्ट वर्ग

jQuery(function($){ 
    $('.servicesContent p:first, .about-usContent p:first, .djBio p:first').fancyletter().addClass('firstP'); 
}); 

धन्यवाद आपकी मदद के लिए बहुत बहुत!

उत्तर

9

आप किसी बिंदु पर जो कुछ भी ठोकर खाते हैं उस पर ठोकर खाई है: :first वास्तव में इसका मतलब यह नहीं है कि आप (पहले) सोचते हैं कि इसका क्या अर्थ है। :firstही कभी (अधिकतम) एक तत्व वापस आ जाएगी। सबसे अच्छा तरीका है मैं आपकी समस्या को कर के बारे में सोच सकते हैं each() उपयोग कर रहा है:

$(function() { 
    $(".servicesContent, .about-usContent, .djBio").each(function() { 
    $(this).find("p:first").addClass("..."); 
    }); 
}); 
+0

भयानक, एक बहुत मदद करता है कि! –

2

आप पहली बार पी के सभी टैग करने के लिए वर्ग को जोड़ने के लिए इस तरह कोड को फिर से लिखने कर सकते हैं:

$('.servicesContent, .about-usContent, .djBio').each(function() { 
    $(this).find('p:first').fancyletter().addClass('firstP'); 
}); 

समस्या के साथ आपका कोड यह है कि यह दिए गए वर्ग के साथ तत्व के भीतर केवल एपी टैग का पहला उदाहरण पाता है।

0

जैसा कि आपने पाया है, :first selector उस चयनकर्ता के पहले तत्व से मेल खाता है जिसे आप इसे लागू करते हैं, और केवल एक तत्व (केवल) एक तत्व लौटाएगा।

आप :first-child selector है, जो किसी भी तत्व है कि अपने माता पिता की पहली संतान है से मेल खाएगी उपयोग करने के लिए की जरूरत है। (ध्यान दें कि यदि पहले p से पहले एक अलग तत्व है, यह अभी भी काम नहीं करेगा)

+0

आपका क्या मतलब है? – SLaks

+0

मुझे एहसास है कि; मेरे दूसरे अनुच्छेद में मूलभूत द्वारा मेरा यही मतलब था। – SLaks

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