2013-02-16 12 views
6

holder.jsधारक.जेएस - डीओएम तत्व वापस प्राप्त करें?

मैं अपने पृष्ठ पर प्लेसहोल्डर छवि को गतिशील रूप से जोड़ना चाहता हूं।

की तरह तो काम नहीं करता है यह सम्मिलित करना:

$('<li>',{class:'file-item'}) 
    .append($('<img>',{'data-src':'holder.js/150x150'})) 
    .append($('<span>',{class:'file-name'}).text(file.name)) 
    .appendTo('#file-list'); 

क्योंकि धारक स्क्रिप्ट पहले से ही भाग गया है और नए तत्वों के लिए खोज नहीं है।

तथापि, हम इसे फिर से मैन्युअल रूप से चला सकते हैं:

Holder.run() 

लेकिन तब यह सभी तत्वों को पहले से ही जोड़ रहे हैं स्कैन करेगा।

तो ... क्या मैं तरीका बनाने के लिए holder.js प्राप्त कर सकता हूं और मुझे एक डोम तत्व वापस दे सकता हूं ताकि मैं इसे पूरी चीज़ को फिर से चलाने के बिना मैन्युअल रूप से जोड़ सकूं?

+0

धारक एक jQuery प्लगइन है? कुछ और? –

+0

ऐसा लगता है कि एक 'add_image' विधि है जो संभवतः इस –

+1

को संभाल सकती है ... '{class:' file-name '} से सावधान रहें। यह कुछ पुराने ब्राउज़रों में टूट जाएगा। 'ClassName' या' "वर्ग" का प्रयोग करें। –

उत्तर

8

Node को images संपत्ति Holder.run पर पास करें और आप किसी भी व्यक्तिगत छवि पर होल्डर चलाने में सक्षम होंगे। धारक स्वयं एक डोम तत्व नहीं बनाता है, यह सिर्फ src मान बदलता है।

कोड:

var image = $("<img>").attr({ 
    "data-src": "holder.js/300x200" 
}) 

Holder.run({ 
    images: image[0] 
}); 

image.appendTo("body"); 

लाइव यहाँ उदाहरण: http://jsfiddle.net/imsky/p3DMa/

+0

आप इसे डीओएम में शामिल करने से पहले भी कर सकते हैं! अच्छा! – mpen

+0

एक ही जैसा कि ऊपर सिर्फ गतिशील गोते के लिए 'Holder.run ({ \t \t \t \t छवियों: $ (" # "+" img "+ obj.rId) .find ('img') [0] \t \t \t \t }); ' – neelabh

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