কিভাবে jQuery দিয়ে একটি DOM উপাদান ধ্বংস করতে?


উত্তর:


194

কি $target.remove(); কি খুঁজছেন?

https://api.jquery.com/remove/


75
অবশ্যই এটি দৃশ্যমান দস্তাবেজ থেকে এটি সরিয়ে দেয়। যদি জাভাস্ক্রিপ্ট থেকে নোডের অন্যান্য উল্লেখ রয়েছে, যেমন $ টার্গেট ভেরিয়েবল নিজেই, অবজেক্টটি আপাতত আবর্জনা সংগ্রহকারীকে পালিয়ে যাবে। আপনি যদি এটি ডিস্ট্রয়ে করতে চান তবে আপনাকে এটির সমস্ত উল্লেখও হারাতে হবে। আপনি যদিও কোনও ডোম উপাদানটি নষ্ট করতে চান তা আমি নিশ্চিত নই। হতে পারে আপনি কেবল লক্ষ্যকে ঘৃণা করেন। দরিদ্র $ লক্ষ্য, এটি কখনও আপনার সাথে কী করেছিল?
ববিনস

52
alone লক্ষ্য একা থাকে যখন তিনি একা থাকেন তবে তিনি তার 100.000 ক্লোন করা বন্ধুদের কাছাকাছি থাকলে তিনি বাজে হন।
সেবাস্তিয়ান গ্রিগনিলি

2
হবে .empty()একটি অনুরূপ প্রভাব আছে?
সৌরভ নন্দ

3
@ সৌরভনন্দ - খালি জিনিসটির বিষয়বস্তু সরিয়ে ফেলবে, তবে বস্তুটি নিজেই মুছে ফেলবে না (বা ধ্বংস করবে না)।
লুক

46

আপনি যদি লক্ষ্যটিকে পুরোপুরি ধ্বংস করতে চান তবে আপনার কাছে কয়েকটি বিকল্প রয়েছে। প্রথমে আপনি উপরে বর্ণিত হিসাবে DOM থেকে অবজেক্টটি সরাতে পারবেন ...

console.log($target);   // jQuery object
$target.remove();       // remove target from the DOM
console.log($target);   // $target still exists

বিকল্প 1 - তারপরে একটি খালি jQuery অবজেক্ট (jQuery 1.4+) দিয়ে লক্ষ্য প্রতিস্থাপন করুন

$target = $();
console.log($target);   // empty jQuery object

বিকল্প 2 - অথবা সম্পত্তি পুরোপুরি মুছুন (আপনি অন্য কোথাও রেফারেন্স দিলে একটি ত্রুটি ঘটবে)

delete $target;
console.log($target);   // error: $target is not defined

আরো পাঠ: খালি jQuery এর অবজেক্ট সম্পর্কে তথ্য , এবং সম্পর্কে ডিলিট তথ্য


3
কেন delete $targetকাজ করবে না: পারফেকশানসিলস / গৌরব- ডিলিট /# স্মৃতি ধারণাগুলি কেন $target=nullকাজ করবে না ?
লিগি

@ লিগি - আপনি কী মুছে ফেলুন jQuery অবজেক্টগুলির জন্য কাজ করবে না তা বোঝাতে দয়া করে আপনার পোস্টটি সংক্ষিপ্ত করতে পারেন? আমরা যখন কনসোল.লগ ($ লক্ষ্য) শেষে দেখি তখন কেন এটি কাজ করতে দেখা যায়? ধন্যবাদ.
লুক

উদ্ধৃত নিবন্ধের চেয়ে আমি এর থেকে ভাল আর কোনও ব্যাখ্যা করতে পারি না, যা আমি খুব বিশদভাবে পেয়েছি।
লিগি

রেকর্ডের জন্য, এটি কনসোলে কাজ করে কারণ কনসোল জেএসকে বিবর্তনের সুযোগে মূল্যায়ন করে, যা মোছার অনুমতি দেয়। "প্রাকৃতিক" স্কোপে ভেরিয়েবলগুলি ডিলেটযোগ্য হবে না। $target=nullপরিবর্তে ব্যবহার করুন। এটি দ্রুত এবং অভ্যন্তরীণ ব্রাউজার অপ্টিমাইজেশানগুলির সাথে গণ্ডগোল করে না।
বেন্ডম্যান

1
মুছুন ঠিক আছে। এর ঠিক অর্থ হ'ল ব্লকটি জেএস ইঞ্জিন দ্বারা অনুকূলিত হবে না। বেশিরভাগ ক্ষেত্রে, এটি সম্পূর্ণ অপ্রাসঙ্গিক। এটি যখন কোনও সমস্যা হয়ে দাঁড়ায়, তারপরে আপনি মোছা ব্যবহারের চারপাশের উপায়গুলি সন্ধান করেন। পূর্বের না.
চার্লি মার্টিন

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