JQuery ব্যবহার করে পরীক্ষা করুন, যদি কোনও উপাদান 'ডিসপ্লে: কিছুই নয়' বা ক্লিকে অবরুদ্ধ থাকে


239

আমি গোপনীয় উপাদানগুলিকে চেক বাছাই করতে চাই। বৈশিষ্ট্য displayএবং মান সহ সমস্ত উপাদান খুঁজে পাওয়া সম্ভব none?

উত্তর:


542

আপনি ব্যবহার করতে পারেন : দৃশ্যমান উপাদানগুলির জন্য দৃশ্যমান এবং : লুকানো উপাদানগুলি খুঁজে গোপন করার জন্য। এই লুকানো উপাদানগুলিতে displayবৈশিষ্ট্য সেট করা আছে none

hiddenElements = $(':hidden');
visibleElements = $(':visible');

নির্দিষ্ট উপাদান পরীক্ষা করতে।

if($('#yourID:visible').length == 0)
{

}

উপাদানগুলি দস্তাবেজটিতে স্থান গ্রহন করে তা দৃশ্যমান হিসাবে বিবেচিত হয়। দৃশ্যমান উপাদানগুলির একটি প্রস্থ বা উচ্চতা যা শূন্যের চেয়ে বড়, রেফারেন্স

আপনি এর সাথে () ব্যবহার করতে পারেন:visible

if(!$('#yourID').is(':visible'))
{

}

আপনি যদি ডিসপ্লেটির মান পরীক্ষা করতে চান তবে আপনি সিএসএস () ব্যবহার করতে পারেন

if($('#yourID').css('display') == 'none')
{

}

আপনি যদি ডিসপ্লে ব্যবহার করে থাকেন তবে নিম্নলিখিত মানগুলি displayথাকতে পারে।

প্রদর্শন: কিছুই না

প্রদর্শন: ইনলাইন

প্রদর্শন ব্লক

প্রদর্শন: তালিকা-আইটেম

প্রদর্শন: ইনলাইন-ব্লক

এখানে সম্ভাব্য displayমানগুলির সম্পূর্ণ তালিকা চেক করুন

জাভাস্ক্রিপ্ট সহ প্রদর্শনের সম্পত্তিটি পরীক্ষা করতে

var isVisible = document.getElementById("yourID").style.display == "block";
var isHidden = document.getElementById("yourID").style.display == "none"; 

ঠিক আছে, আমার দৃশ্যে, প্রতিটি উপাদানটির একটি আইডি রয়েছে, সুতরাং কৌশলটি আমার পক্ষে কাজ করে :)
নিকোলাস ফ্রান্সিস

2
@ নিকোলাসফ্রান্সিস, আমি লুকিয়ে থাকা সমস্ত উপাদানগুলি খুঁজতে আমার উত্তর আপডেট করেছি।
আদিল

এটি ইনলাইন সিএসএসও চেক করে? আমার কাছে সিএসএস display: block;লিখিত ইনলাইন jquery থেকে আসছে। আমি আপনার পদ্ধতিতে এটি পরীক্ষা করতে অক্ষম। আমাকে সাহায্য কর.
গৌরব ম্যানরাল

JQuery যোগ করা হয়েছে এবং আপনি ডিওমে যোগ করার পরে উপাদানটিতে অ্যাক্সেস করছেন? আপনি আমাকে কোডটি দেখাতে পারেন? Jsfiddle.net
আদিল

জাভাস্ক্রিপ্ট সমতুল্য কি?
দ্য

56
$("element").filter(function() { return $(this).css("display") == "none" });

7
+1: এটি জিজ্ঞাসিত প্রশ্নের স্বীকৃত উত্তরের চেয়ে বেশি কার্যকরী , কারণ পিতামণ্ডলের কোনও উপাদান থাকলেও এটি কাজ করবে style="display: none;"। ব্যবহার উত্তরসমূহ :visibleএবং :hiddenআপনি নির্দিষ্ট উপাদানের দৃশ্যমানতা চান ব্যর্থ হবে এবং একটি পিতা বা মাতা উপাদান লুকানো হয় হিসাবে যারা নির্বাচকরা পৃষ্ঠাতে সামগ্রিক দৃশ্যমানতা আসতে (যা প্রশ্ন জিজ্ঞাসা ছিল না)।
2:42

জেএস ডোম পরিবেশে iteক্যবদ্ধ পরীক্ষা চালানোর সময় এটি কাজ করে।
b01

একটি ট্যাবিং প্লাগইনের জন্য, এটি সিএসএসে সেট করা ছিল visibility: 'hidden';, তাই $(this).css('visibility') != 'hidden'
চেকটিও

30

হ্যাঁ, আপনি cssfunction ব্যবহার করতে পারেন। নীচে সমস্ত ডিভগুলি অনুসন্ধান করবে, তবে আপনার প্রয়োজনীয় উপাদানগুলির জন্য আপনি এটি সংশোধন করতে পারেন

$('div').each(function(){

    if ( $(this).css('display') == 'none')
    {
       //do something
    }
});

13

এই শর্তটি ব্যবহার করুন:

if (jQuery(".profile-page-cont").css('display') == 'block'){
    // Condition 
}

11

দৃশ্যমানতা যাচাই করার জন্য jQuery এ দুটি পদ্ধতি রয়েছে:

$("#selector").is(":visible")

এবং

$("#selector").is(":hidden")

আপনি নির্বাচকটিতে দৃশ্যমানতার ভিত্তিতে আদেশগুলিও কার্যকর করতে পারেন;

$("#selector:visible").hide()

অথবা

$("#selector:hidden").show()

6
দ্রষ্টব্য: এটি নির্বাচিত উপাদানগুলির নির্দিষ্ট দৃশ্যমান বৈশিষ্ট্যটি ফিরিয়ে দেবে না , যেমন প্রশ্নটি জিজ্ঞাসা করে, তেমনি :visibleপিতামাতৃ পূর্বপুরুষের দৃশ্যমানতার উপরও নির্ভর করে। পূর্বপুরুষ হলে display: noneসমস্ত বংশধররা displayরাষ্ট্র নির্বিশেষে দৃশ্যমান হবে না ।
কোডিং চলে গেছে

10
$('#selector').is(':visible');

3
দ্রষ্টব্য: এটি নির্বাচিত উপাদানগুলির নির্দিষ্ট দৃশ্যমান বৈশিষ্ট্যটি ফিরিয়ে দেবে না , যেমন প্রশ্নটি জিজ্ঞাসা করে, তেমনি :visibleপিতামাতৃ পূর্বপুরুষের দৃশ্যমানতার উপরও নির্ভর করে। পূর্বপুরুষ হলে display: noneসমস্ত বংশধররা displayরাষ্ট্র নির্বিশেষে দৃশ্যমান হবে না ।
কোডিং চলে গেছে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.