JQuery এ শ্রেণি নির্বাচক নয়


270

নির্দিষ্ট শ্রেণীর সাথে উপাদান নির্বাচন না করার জন্য কি কোনও সাধারণ নির্বাচক অভিব্যক্তি রয়েছে?

<div class="first-foo" />
<div class="first-moo" />
<div class="first-koo" />
<div class="first-bar second-foo" />

আমি কেবল প্রথম তিনটি ডিভ পেতে এবং চেষ্টা করতে চাই

$(div[class^="first-"][class!="first-bar"])

তবে এটি সবই পায় কারণ শেষ ডিভটিতে প্রথম বারের চেয়ে বেশি থাকে। এরকম অভিব্যক্তিতে কোনও স্থানধারক ব্যবহার করার কোনও উপায় আছে কি? এরকম কিছু

$(div[class^="first-"][class!="first-bar*"]) // doesn't seem to work

অন্য কোনও নির্বাচক যে সাহায্য করতে পারে?


আমার আগের মন্তব্যটি স্ক্র্যাচ করুন, আমি কেবল পুনরায় প্রশ্নটি আবার পড়েছি। সমালোচক শ্রেণি হয় first-bar
BoltClock

যদি কেউ এমন সমস্ত উপাদান নির্বাচন করতে চায় যেগুলির ক্লাস 1 বা ক্লাস 2 নেই তবে কনকনেটেটিং কাজ করবে:$('div[class^="first-"]').not('.class1').not('.class2')
J0ANMM

উত্তর:


543

আপনার :not()নির্বাচক দরকার :

$('div[class^="first-"]:not(.first-bar)')

বা, বিকল্পভাবে, .not()পদ্ধতি:

$('div[class^="first-"]').not('.first-bar');

91
নোট করুন যেহেতু: (() .not () ( jsperf.com/jquery-css3-not-vs-not ) এর চেয়ে ২-৩ গুণ বেশি দ্রুত নয় , আপনি ব্যবহার করতে পারেন: না ()। তবে jQuery ডকস পরিবর্তে .not () ব্যবহার করার পরামর্শ দেয়, কারণ এটি আরও পাঠযোগ্য ( api.jquery.com/not-selector )। আশা করি এটি কারও পক্ষে দুজনের মধ্যে সিদ্ধান্ত নিতে সহায়তা করবে!
রিনোগো

2
@ রিনোগো এখন ব্রাউজারের সংখ্যাগরিষ্ঠরা ক্যোয়ারী নির্বাচনকারী সমস্তকে সমর্থন করে তাড়াতাড়ি করা হয়েছে, তবে এরকমটি সর্বদা হয়নি।
একাকী দিন

4
হ্যাঁ, ঠিক! :) আমি আশা করি আমার মন্তব্য সমালোচনা হিসাবে আসে নি; আমি বরং আপনার ইতিমধ্যে সহায়ক প্রশ্নে যুক্ত করার ইচ্ছা করেছি।
রিনোগো

1
ধন্যবাদ !! আমার ফিল্টারিং বাক্সগুলি ব্যতীত অন্যগুলির কী কীটি অক্ষম করুন। ; ("ইনপুট: না (.rgFilterBox)")। কীডাউন (ফাংশন (ই)) {যদি (e.keyCode == 13) false মিথ্যা প্রত্যাবর্তন; true সত্য প্রত্যাবর্তন;});
হার্ডবা 11

3
@ ড্যানিয়েল, হ্যাঁ, তবে এটি যদি হয় তবে তাত্ক্ষণিক পারফরম্যান্স বাড়ানো এটি একটি দুর্দান্ত সহজ পরিবর্তন :)
রিনোগো

85

আপনি :notফিল্টার নির্বাচনকারী ব্যবহার করতে পারেন :

$('foo:not(".someClass")')

বা not()পদ্ধতি:

$('foo').not(".someClass")

অধিক তথ্য:


3
"যদি এটি একটি CSS নির্বাচনকারী হিসেবে ব্যবহার বাদ দেওয়া হবে।
BoltClock

17
@ বল্টক্লক: এগুলিতে শূণ্যস্থানগুলির সাথে মূল্যবোধের জন্য এটি প্রয়োজনীয়, আমি সর্বদা এটি নির্দিষ্ট করা আমার অভ্যাসে পরিণত করেছি :)
সরফরাজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.