jQuery: খালি নয় এমন ডেটা অ্যাট্রিবিউট নির্বাচন করবেন?


96

আমি data-go-toখালি নয় এমন একটি বৈশিষ্ট্যযুক্ত সমস্ত উপাদান নির্বাচন করার চেষ্টা করছি ।

আমি চেষ্টা করেছি $('[data-go-to!=""]')কিন্তু অদ্ভুতভাবে যথেষ্ট মনে হয় যে আমি যদি এটি করি তবে পৃষ্ঠাতে প্রতিটি উপাদান নির্বাচন করা হচ্ছে।

উত্তর:


77

চেষ্টা করুন

$(':not([data-go-to=""])')

হালনাগাদ:

কাউকে বিপথগামী না করার স্বার্থে, এই উত্তরটি jQuery এর পুরানো সংস্করণগুলিতে কাজ করবে তবে ভবিষ্যতের প্রমাণ নয়। যেহেতু @gmo এবং @ siva এর উত্তরগুলি উভয়ই পরবর্তী উত্তরগুলিতে আমি তাদের উত্তরগুলি (এবং আপনাকে উত্সাহিত করতে উত্সাহিত করব) সাথে কাজ করছি বলে মনে হচ্ছে .... এবং অবশ্যই আশা করি আপনার একটি দুর্দান্ত দিন আছে।


ধন্যবাদ, এটি দুর্দান্ত কাজ করেছে! আমি কেবল চিত্রের উপাদান নির্বাচন করতে চেয়েছিলাম, তাই আমি যুক্ত করেছি $ (': না (img [তথ্য-
গোপনে

4
এটি কি এমন সমস্ত উপাদান নির্বাচন করে না যেগুলির ফাঁকা 'ডেটা-টু-গো' বৈশিষ্ট্য নেই? প্রশ্নকারী যখন শূন্য নয় সেই বৈশিষ্ট্যযুক্ত সমস্ত উপাদান চায়? (
শিবচরণের

সত্যিই কোনও ডাবল উদ্ধৃতি দরকার নেই ... যেমন আছে $('element:not([attribute=])'); // gets all of <element attribute="">বা$(':not([attribute=])'); // gets all of <* attribute="">
অ্যান্টনি হাটজোপলোস

4
এটি আমার জন্য প্রতিটি উপাদান পায়, যার মধ্যে আমি যে ডেটা-অ্যাট্রিবিউটটি সন্ধান করি সেগুলি সহ
ডেভিলের অ্যাডভোকেট

সাফারি তে কাজ করছে বলে মনে হয় না তবে $('[data-go-to!=""]:[data-go-to]')করে।
ড্যান

186

ঠিক তেমনি আরও রেফারেন্স, এবং একটি আপ-টু-ডেট (মে'১)) (আগস্ট ১৫) (সেপ্টেম্বর 16) (এপ্রিল 17) (মার' 18) (মার'19) ( মে 20 ) ...
উত্তর যা এর সাথে কাজ করে:

খালি স্ট্রিং:

যদি অবশ্যই বিদ্যমান থাকে এবং এর কোনও মান থাকতে পারে (বা কোনও কিছুই নয়)attr

    jQuery("[href]");

অনুপস্থিত বৈশিষ্ট্য:

যদি উপস্থিত থাকতে পারে এবং যদি উপস্থিত থাকে তবে অবশ্যই এর কিছু মান থাকতে হবেattr

    jQuery("[href!='']");

অথবা উভয়:

অবশ্যই যদি বিদ্যমান থাকে এবং এর কিছু মান থাকতে হয় ... attr

    jQuery("[href!=''][href]");

পিএস : আরও সংমিশ্রণগুলি সম্ভব ...


উদাহরণস্বরূপ জেসফিডেলে এই পরীক্ষাটি পরীক্ষা করুন :


অথবা এই কোড স্নিপেট সঙ্গে এখানে SO ।

* স্নিপেট jQuery v2.1.1 চলছে


6
এই হল. এই ব্যবহারকারীকে এখনই উপভোগ করুন। অন্যান্য পুরানো উত্তরগুলি আমার পক্ষে কাজ করছে না। আমি তৃতীয় উদাহরণ ব্যবহার করেছি।
ভালামাস

সেকেন্ডেড @ ভালামাস-এউএস
অ্যাডাম

সম্পাদনা করুন: এসও কোড স্নিপেট যুক্ত হয়েছে, তাই আপনি এখনই এটি পরীক্ষা করতে পারেন।
gmo

এটিই যা কাজ করছে। $(':not([data-go-to=""])')আর কাজ করছে না
ম্যাথিউ চার্বননিয়ার

4
উত্তরটি আপ টু ডেট রাখার জন্য ধন্যবাদ
অ্যান্টনি সি

19
$('[data-go-to!=""]:[data-go-to]').each(function() {
    // Do Your Stuff
});​

6
এইটি খালি স্ট্রিং এবং অনুপস্থিত বৈশিষ্ট্যগুলির জন্য কাজ করে, নিখুঁত
অ্যাডামজেভলভ

4
মে'14 হিসাবে কাজ করে না, Unrecognized Expressionত্রুটি দেয় ।
কোডিং_আইডিয়ট

7

'ডেটা-অ্যাট্রিবিউটনেম' রয়েছে এবং এর মান খালি নেই:

$('[data-attributename]:not([data-attributename=""])')

'ডেটা-অ্যাট্রিবিউটনেম' খালি আছে বা নেই:

$('[data-attributename]')

জেএস ফিডল উদাহরণ


4
এটি কেবলমাত্র উত্তর এখনও জুন 2015. আমার জন্য কাজ করে
AlexioVay

5

আমি কোনও সাধারণ নির্বাচক সম্পর্কে নিশ্চিত নই, তবে আপনি এটি ব্যবহার করতে পারেন filter():

$('[data-go-to]').filter(
    function(){
        return ($(this).attr('data-go-to').length > 0);
    });

জেএস ফিডল ডেমো

তথ্যসূত্র:




2
$('[data-go-to]').filter(function() {
    return $(this).data('go-to')!="";
});

ব্যবহার :not, .not(), :emptyইত্যাদি শুধুমাত্র চেক করবে যদি উপাদান নিজেই খালি না ডেটা বৈশিষ্ট্য। তার জন্য আপনাকে ডেটা অ্যাট্রিবিউট মানের উপর ভিত্তি করে ফিল্টার করতে হবে।

ছোট ছোট



0

এটা চেষ্টা কর :

$('[data-go-to:not(:empty)]')

4
যাও না। "Syntax error, unrecognized expression: [data-go-to:not(:empty)]"
Shpigford

api.jquery.com/empty-selector api.jquery.com/not-selector এর মতে, কাজটি অনুমান করা যায়, দুঃখজনক, এটি একটি পরিষ্কার সমাধান হত!
পাস্কল বাউটিন

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