নির্দিষ্ট ক্লাস নেই এমন এলিমেন্টটি কীভাবে নির্বাচন করবেন


90

আমি ভাবছি যে কীভাবে জাভাস্ক্রিপ্ট ব্যবহার করে কোনও নির্দিষ্ট শ্রেণি নেই, এমন কোনও উপাদান কীভাবে নির্বাচন করবেন, jQuery নয়।

উদাহরণস্বরূপ, আমার এই তালিকাটি রয়েছে:

<ul id="tasks">
  <li class="completed selected">One Task</li>
  <li>Two Task</li>
</ul>

এবং আমি এর দ্বারা সম্পন্ন কাজটি নির্বাচন করব:

var completeTask = document.querySelector("li.completed.selected");

তবে তারপরে আমি নিশ্চিত না যে কীভাবে তালিকার আইটেমটি নির্বাচন করতে হবে যাতে সেই ক্লাসগুলি নেই।

উত্তর:


165

এটি দ্বিতীয় LIউপাদান নির্বাচন করে ।

document.querySelector("li:not([class])")

বা

document.querySelector("li:not(.completed):not(.selected)")

উদাহরণ:

// select li which doesn't have a 'class' attribute...
console.log(document.querySelector("li:not([class])"))

// select li which doesn't have a '.completed' and a '.selected' class...
console.log(document.querySelector("li:not(.completed):not(.selected)"))
 <ul id="tasks">
    <li class="completed selected">One Task</li>
    <li>Two Task</li>
  </ul>


17

<li>যা completedবা না selectedক্লাস আছে তা নির্বাচন করতে :

document.querySelector("li:not(.completed):not(.selected)");

ফিডল

http://jsfiddle.net/Z8djF/


বিপরীতটি কীভাবে করবেন : অর্থাৎ, সমস্ত উপাদান যা উভয় completedএবং selectedবর্গ রয়েছে তা নির্বাচন করুন ?
ব্যবহারকারী 2284570

@ ইউজার 2284570 কেবল শ্বেতক্ষেত্র ছাড়াই উভয় ক্লাস লিখুন: li.completed.selected-> এটি এবং ক্লাস থাকা সমস্ত liউপাদানগুলির সাথে completedselected
মিলবে



1

পরিবর্তে পিতামাতার সন্তানদের একটি অ্যারে নেওয়ার চেষ্টা করুন:

var completeTask = document.querySelector("#tasks").childNodes;

তারপরে প্রয়োজনীয় হিসাবে লুপ / ​​অনুসন্ধান করুন।

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