JQuery 1.6, যেহেতু আপনি ব্যবহার করতে পারেন .is
। নীচে এক বছরেরও বেশি সময় আগে থেকে উত্তর দেওয়া হয়েছে ...
var a = $('#foo');
var b = a;
if (a.is(b)) {
// the same object!
}
যদি আপনি দেখতে চান যে দুটি ভেরিয়েবল আসলে একই জিনিস, যেমন:
var a = $('#foo');
var b = a;
... তাহলে আপনি তাদের অনন্য আইডি চেক করতে পারেন। প্রতিবার আপনি একটি নতুন jQuery অবজেক্ট তৈরি করলে এটি একটি আইডি পায়।
if ($.data(a) == $.data(b)) {
// the same object!
}
যদিও, এটি একটি সাধারণ দ্বারা অর্জন করা যেতে পারে, উপরেরগুলি a === b
কমপক্ষে পরবর্তী বিকাশকারীকে ঠিক ঠিক কীভাবে আপনি পরীক্ষা করছেন তা দেখাতে পারে।
যাই হোক না কেন, সম্ভবত আপনি যা পরে না। আপনি যদি দুটি পৃথক jQuery অবজেক্টগুলিতে একই সেট উপাদানগুলির উপস্থিতি পরীক্ষা করতে চান তবে আপনি এটি ব্যবহার করতে পারেন:
$.fn.equals = function(compareTo) {
if (!compareTo || this.length != compareTo.length) {
return false;
}
for (var i = 0; i < this.length; ++i) {
if (this[i] !== compareTo[i]) {
return false;
}
}
return true;
};
উৎস
var a = $('p');
var b = $('p');
if (a.equals(b)) {
// same set
}
A.selector === B.selector && A.context === B.context
। প্রায়শই প্রসঙ্গে সবসময় একই থাকে, তাই আমাদের কেবল নির্বাচক বিবেচনা করতে হবে।