jQuery में foreach पाश

वोट
47

मैं एक समस्या मैं कहाँ मक्खी पर इनलाइन शैली को लागू करने के लिए चौड़ाई jQuery तो तीन img तत्व througbh पाशन में विंडो का आकार हो रही है।

वस्तु [वस्तु वस्तु] कोई विधि 'setAttribute' है: मुद्दा यह है कि जब foreach पाश चलाया जाता है मैं सांत्वना Uncaught TypeError में यह त्रुटि प्राप्त है

मैं पाश में एक ब्रेकपाइंट डाल दिया और करने के लिए आवेदन किया है setAttribute इस और यह ठीक काम करने के लिए प्रकट होता है। मुझे समझ में क्यों जब यह सरणी के माध्यम से लूप यह एक वस्तु के रूप में प्रत्येक सरणी आइटम इलाज नहीं है, लेकिन एक वस्तु के रूप सरणी तक पहुँचने का प्रयास किया जा रहा है न।

var windowsize = $(window).width();

$(window).resize(function() {

    windowsize = $(window).width();

    $( #imgs img ).each(function (){
        $( this ).setAttribute(style,width:+windowsize+px);

    });                                                                 
});

खेद है कि अगर यह स्पष्ट नहीं है

किसी भी मदद बहुत सराहना की जाएगी

26/07/2013 को 15:24
उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
1

.setAttribute()एक देशी जावास्क्रिप्ट तरीका है। आप jQuery का उपयोग कर रहे हैं, का उपयोग .attr()करने के बजाय:

$(this).attr("style", "width:" + windowsize + "px");

या:

$(this).css("width", windowsize + "px");

या और भी बेहतर:

$(this).width(windowsize);
26/07/2013 को 15:28
का स्रोत उपयोगकर्ता

वोट
2

SetAttribute एक js विधि और नहीं एक jQuery तरीका है।

आप या तो सीधे DOM तत्व पर कच्चे js विधि का उपयोग करें या उपयोग करने की आवश्यकता jQuery संस्करण .attr () विधि की।

दोनों नीचे दिए गए तरीकों में एक ही हैं, लेकिन व्यक्तिगत रूप से देशी js का उपयोग कर बेहतर महसूस करता है।

$( this ).attr("style","width:"+windowsize+"px");
this.setAttribute("style","width:"+windowsize+"px");
26/07/2013 को 15:28
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more