कैसे आप के प्रोटोटाइप के $ () उपयोगिता विधि के अंदर एक चर 'मान पास करते हैं?

वोट
0
function insertChildDiv(parentId)
{
  var ChildComment = new Element('div', {'class':'padding'});
  ChildComment.update('testing');
  $().insert(ChildComment);
}

मैं $ () लाइन में अंदर parentId का मूल्य चाहते हैं

$().insert(ChildComment);

मैं पहले से ही करने की कोशिश की

$('parentId').insert(ChildComment);

लेकिन यह स्ट्रिंग के रूप में parentId मूल्यांकन करता है और parentId का एक तत्व आईडी के साथ एक div की तलाश में है तो त्रुटि $ हो जाएगा ( parentId) रिक्त है

भी करने की कोशिश की

$(parentId).insert(ChildComment);

लेकिन इसकी त्रुटि लौटने $ (parentId) .Insert कार्य नहीं है

btw स्क्रिप्ट इस एचटीएमएल द्वारा कहा जाता है

<a href=# onclick=insertChildDiv(123456) id=123456more>Replies and more</a>
26/05/2009 को 12:27
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


6 जवाब

वोट
0

आप $ (parentId) .Insert (...) सामान्य रूप से उपयोग करेंगे।

नहीं चाहेंगे $(parentId + 'more').insert(...)अपने विशिष्ट मामले में काम?

26/05/2009 को 12:30
का स्रोत उपयोगकर्ता

वोट
2

$ () एक स्ट्रिंग या पैरामीटर के रूप में एक डोम तत्व को स्वीकार करता है

मूल प्रश्न में संपादन दिखाने के लिए संपादित किया गया

$ (ParentId) के रूप में लंबे समय के रूप id मान्य है काम करेंगे।

आईडी समारोह के लिए पारित "123456" है और आईडी आप देख रहे हैं "123456more" है। इसके अलावा, क्या आप गुजर रहे एक पूर्णांक (123456) नहीं एक श्रृंखला है। किसी भी दर पर, के बाद से वे मेल नहीं खाते, प्रोटोटाइप यह नहीं मिल रहा है। भी आईडी एक नंबर के साथ शुरू नहीं करना चाहिए: IE8 उस पर विफल हो जाएगा के रूप में W3C चश्मा कहना आईडी गुण एक संख्या के साथ शुरू नहीं कर सकते (अगर मैं सही ढंग से याद करते हैं)

करने के लिए एचटीएमएल बदलने का प्रयास करें

<a href="#" onclick="insertChildDiv('more123456')" id="more123456">Replies and more</a>

और यह काम करना चाहिए

26/05/2009 को 12:32
का स्रोत उपयोगकर्ता

वोट
0

parentId के मूल्य div जहां इस की आईडी है <a href="#" onclick="insertChildDiv('more123456')" id="more123456">Replies and more</a>स्थित है। मैं समारोह insertChildDiv () ताकि डाला बच्चे div इस माता पिता की div में नेस्ट किया जाएगा में इस parentId के मूल्य पारित कर दिया। यह भी एक टैग की आईडी id="more123456"एक मूल्य है कि डाला बच्चे div छुपा देगा में href मान बदलने के लिए उपयोग किया जाएगा

धन्यवाद मैं अपने तत्व की आईडी का नाम बदलने के पत्र में पहले वर्ण बनाने के लिए होगा।

अगर मैं एक qoutes कि अंदर $ () पूर्व parentId लपेट को हटा दें। $(parentId).insert(ChildComment);से त्रुटि आई है:

$(parentId).insert is not a function

अगर मैं एकल उद्धरण में parentId लपेट, प्रोटोटाइप का एक आईडी के साथ एक div नहीं मिलेगा 'parentId' त्रुटि हो जाएगा $("parentId") is null

26/05/2009 को 12:58
का स्रोत उपयोगकर्ता

वोट
1

इस बचाव के लिए। "इस" तत्व में ही करने के लिए संदर्भित करता है, तो अपने समारोह, न कोई स्ट्रिंग के लिए तत्व संदर्भ गुजरती हैं।

<div onclick="insertChildDiv(this)">###</a>

<script type='text/javascript'>
function insertChildDiv(element) {
    $(element).insert(new Element('div',{'class':'padding'}).update('testing'))
}

// or if you want to add an ID:

function insertChildDiv(element) {
    $(element).insert(new Element('div',{'class':'padding',id:'more'+element.id}).update('testing'))
}

</script>
26/05/2009 को 13:41
का स्रोत उपयोगकर्ता

वोट
0

आपका मूल समारोह तर्क $ में पारित कर दिया () के साथ काम करता ...

function insertChildDiv(parentId)
{
  var ChildComment = new Element('div', {'class':'padding'});
  ChildComment.update('testing');
  $(parentId).insert(ChildComment);
}

यहाँ एक परीक्षण का मामला है:

$ करने के लिए एक चर पासिंग ()

26/05/2009 को 17:36
का स्रोत उपयोगकर्ता

वोट
0

वाह आप सभी को बहुत बहुत धन्यवाद! अब यह काम कर रहा है। दूसरों कि यह वही परिदृश्य यहां दिखाई दे सकते के लाभ के लिए मैं क्या लगता है क्या हुआ: न प्रयोग संख्या केवल तत्व (भले ही शब्द "आईडी" चलता है कि यह एक नंबर होना चाहिए।) के लिए आईडी के रूप में और हाँ यदि आप वास्तव में जरूरत है कि आईडी पर एक नंबर, concat भी आईडी पूर्व की शुरुआत में एक भी पत्र। आईडी अब का उपयोग कर im आईडी = "parent123456" है

27/05/2009 को 04:22
का स्रोत उपयोगकर्ता

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