jQuery অ্যাপেন্ড () - সংযুক্ত উপাদানগুলি রিটার্ন করুন


188

গতিশীল কিছু উপাদান যুক্ত করতে আমি jQuery.append () ব্যবহার করছি । এই নতুন সন্নিবেশ করা উপাদানগুলির jQuery সংগ্রহ বা অ্যারে পাওয়ার কোনও উপায় আছে কি?

সুতরাং আমি এটি করতে চাই:

$("#myDiv").append(newHtml);
var newElementsAppended = // answer to the question I'm asking
newElementsAppended.effects("highlight", {}, 2000);

উত্তর:


263

এটি করার একটি সহজ উপায় রয়েছে:

$(newHtml).appendTo('#myDiv').effects(...);

এই পালাক্রমে প্রথম তৈরি করে প্রায় কিছু newHtmlসঙ্গে jQuery(html [, ownerDocument ]), এবং তারপর ব্যবহার appendTo(target)( "নোট Toশেষে যোগ করার যে" বিট) #mydiv

আপনি এখন এর শেষ ফলাফলটি দিয়ে শুরু করার কারণে এটি এইচটিএমএল-র নতুন বিট, এবং কলটি এই নতুন বিট এইচটিএমএল-তেও আসবে ।$(newHtml)appendTo('#myDiv').effects(...)


2
JQuery এর UI 'তে সংস্করণ 1.9.2 আমি পেয়ে করছি ব্যবহার effectsকোন ফাংশন নয় ... কিন্তু effectহল
ফিলিপ এম

আমি যুক্ত করব যে আরও একটি স্বাক্ষর রয়েছে: অ্যাপেন্ডটো (লক্ষ্য, প্রসঙ্গ)। যেমন কোনও jQuery নির্বাচকের ক্ষেত্রে এটি লক্ষ্য সন্ধানের অনুমতি দেয়, তবে কেবল একটি নির্দিষ্ট প্রসঙ্গে। প্লাগিন বা লাইব্রেরি লিখলে এটি খুব কার্যকর হতে পারে।
পিয়ারপাওলো সিরা

1
newHtmlবৈধ এইচটিএমএল বা বৈধ jQuery নির্বাচনকারী না হলে এটি একটি ত্রুটি ফেলে দেবে : লক্ষ্য উপাদানটিতে পাঠ্য যুক্ত করে সঠিকভাবে কাজ করার $('/ This is Not HTML /').appendTo('#myDiv')ফলাফল আসে । Uncaught Error: Syntax error, unrecognized expression$('#myDiv').append('/ This is Not HTML /')
থমাস সিজি ডি ভিলেনা

40
// wrap it in jQuery, now it's a collection
var $elements = $(someHTML);

// append to the DOM
$("#myDiv").append($elements);

// do stuff, using the initial reference
$elements.effects("highlight", {}, 2000);

2
পরে যখন আমি সংযুক্ত উপাদানগুলিতে একটি ইভেন্টকে বাঁধতে চেষ্টা করি তখন এটি আমার পক্ষে কার্যকর হয় নি। আমি var appendTarget = $ (newHtml) .appendTo (উপাদান) ব্যবহার করেছি। আমি তখন $ (অ্যাপেনডেটজেট) .বাইন্ড ('কীডাউন', কিছু ফাঙ্ক) ব্যবহার করে আবদ্ধ হতে পারি
জ্যাক ইম্বোডেন

আমি মনে করি, তা হয় $elements.effect("highlight", {}, 2000);না effects
কেন

2
এটি কাজ করে না কারণ সংযুক্ত হওয়ার পরে $ উপাদানগুলি পরিবর্তনশীল হয়, পরিবর্তিত হয় এবং আর উপলভ্য হয় না।
অ্যালেক্স ভি

@AlexV এই কাজ মনে হয়, এ লাইভ ডেমো দেখতে jsbin.com/xivedohofi/1/edit?html,js,output , এছাড়াও একই উত্তর হিসাবে অনুরূপ প্রশ্নের জন্য গৃহীত দেখতে stackoverflow.com/questions/1443233/...
Adrien হউন

2
দেখে মনে হচ্ছে তারা jQuery এর নতুন সংস্করণে এটি স্থির করেছেন।
অ্যালেক্স ভি


10

একটু অনুস্মারক যখন উপাদান পরিবর্তনশীল যোগ করা হয় ফাংশন পছন্দ append(), appendTo(), prepend()বা prependTo()একটি jQuery বস্তু, না এইচটিএমএল DOM উপাদান ফিরে যান।

ডেমো

var container=$("div.container").get(0),
    htmlA="<div class=children>A</div>",
    htmlB="<div class=children>B</div>";

// jQuery object
alert( $(container).append(htmlA) ); // outputs "[object Object]"

// HTML DOM element
alert( $(container).append(htmlB).get(0) ); // outputs "[object HTMLDivElement]"

19
অ্যাপেন্ড () থেকে ফিরে আসা উপাদানটি ধারক এবং নতুন উপাদান নয়।
টমাস

0

আমি মনে করি আপনি এরকম কিছু করতে পারেন:

var $child = $("#parentId").append("<div></div>").children("div:last-child");

# প্যারেন্টআইডের পিতামাতাকে পরিশিষ্ট থেকে ফিরে আসা হয়েছে, তাই শেষ ডিভ সন্তানের সন্নিবেশ করানোর জন্য এটিতে একটি জেকারি শিশু জিজ্ঞাসা যুক্ত করুন।

$ চাইল্ড হ'ল জেকারি মোড়ানো চাইল্ড ডিভ যা যুক্ত হয়েছিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.