উত্তর:
if ($('#element').is(':empty')){
//do something
}
আরও তথ্যের জন্য দেখুন http://api.jquery.com/is/ এবং http://api.jquery.com/empty-selector/
সম্পাদনা করুন:
যেমন কেউ উল্লেখ করেছেন, একটি খালি উপাদানটির ব্রাউজারের ব্যাখ্যা বিভিন্ন রকম হতে পারে। আপনি যদি অদৃশ্য উপাদানগুলি যেমন স্পেস এবং লাইন ব্রেকগুলির উপেক্ষা করতে এবং বাস্তবায়নটিকে আরও সুসংগত করতে চান তবে আপনি একটি ফাংশন তৈরি করতে পারেন (বা এর অভ্যন্তরীণ কোডটি ব্যবহার করতে পারেন)।
function isEmpty( el ){
return !$.trim(el.html())
}
if (isEmpty($('#element'))) {
// do something
}
আপনি এটিকে একটি jQuery প্লাগইন তৈরি করতে পারেন, তবে আপনি ধারণা পাবেন।
আমি এটি একমাত্র নির্ভরযোগ্য উপায় হিসাবে খুঁজে পেয়েছি (যেহেতু ক্রোম এবং এফএফ হোয়াইটস্পেস এবং লাইন ব্রেকগুলি উপাদান হিসাবে বিবেচনা করে):
if($.trim($("selector").html())=='')
if(!$.trim($("selector").html())
if($("selector").children().length === 0)বা if($("selector > *").length === 0)।
সাদা স্থান এবং লাইন বিরতি ব্যবহার করে প্রধান সমস্যা: খালি নির্বাচক। যত্নবান, সিএসএসে: খালি সিউডো ক্লাস একইভাবে আচরণ করে। আমি এই পদ্ধতিটি পছন্দ করি:
if ($someElement.children().length == 0){
someAction();
}
$.children()পাঠ্য বা মন্তব্য নোডগুলি ফেরৎ না, যার অর্থ এই সমাধানটি কেবলমাত্র চেক করে তোলে উপাদান উপাদানগুলির খালি । যদি কেবলমাত্র পাঠ্য বা মন্তব্যগুলিতে থাকা কোনও উপাদানটি আপনার প্রয়োজনের জন্য খালি বিবেচনা করা উচিত না , তবে আপনার অন্য সমাধানগুলির মধ্যে একটি ব্যবহার করা উচিত।
selectউপাদানগুলির জন্য নিখুঁত শর্তটিও হতে পারে if(! $el.children().length)।
!elt.hasChildNodes()
হ্যাঁ, আমি জানি, এটি jQuery নয়, তাই আপনি এটি ব্যবহার করতে পারেন:
!$(elt)[0].hasChildNodes()
এখন সুখি?
filterফাংশনের অভ্যন্তরে ব্যবহার করেছি কারণ আমি প্রয়োজন না হলে ফাংশনের ভিতরে jQuery ব্যবহার করতে চাই না।
<div class="results"> </div>এই বিবৃতিটি মিথ্যা প্রত্যাবর্তন করবে। jsfiddle.net/ytliuSVN/0pdwLt46
jQuery.fn.doSomething = function() {
//return something with 'this'
};
$('selector:empty').doSomething();
thisজিকুয়ারি উপাদান @ জিলমুরপা ছাড়া আর কী থাকতে পারে?
যদি "খালি" হয়ে থাকে, আপনি কোনও HTML সামগ্রী সহ বোঝাতে চাইছেন না,
if($('#element').html() == "") {
//call function
}
খালি হিসাবে কোনও পাঠ্য নেই?
if (!$('#element').text().length) {
...
}
জীবনবৃত্তান্তে, উপাদান খালি আছে কিনা তা খুঁজে বের করার জন্য অনেকগুলি বিকল্প রয়েছে:
1- ব্যবহার html:
if (!$.trim($('p#element').html())) {
// paragraph with id="element" is empty, your code goes here
}
2- ব্যবহার text:
if (!$.trim($('p#element').text())) {
// paragraph with id="element" is empty, your code goes here
}
3- ব্যবহার is(':empty'):
if ($('p#element').is(':empty')) {
// paragraph with id="element" is empty, your code goes here
}
4- ব্যবহার length
if (!$('p#element').length){
// paragraph with id="element" is empty, your code goes here
}
আসক্তিতে আপনি যদি কোনও ইনপুট উপাদান খালি রয়েছে তা সন্ধানের চেষ্টা করছেন তবে আপনি এটি ব্যবহার করতে পারেন val:
if (!$.trim($('input#element').val())) {
// input with id="element" is empty, your code goes here
}
document.getElementById("id").innerHTML == "" || null
অথবা
$("element").html() == "" || null
আপনি চেষ্টা করতে পারেন:
if($('selector').html().toString().replace(/ /g,'') == "") {
//code here
}
* সাদা জায়গাগুলি প্রতিস্থাপন করুন, কেবল incase;)
!/[\S]/.test($('Selector').html())ভাল কাজ করবে না , একবার যদি আপনি কিছু
The production CharacterClassEscape :: S evaluates by returning the set of all characters not included in the set returned by CharacterClassEscape :: s.
আপনি খুঁজছেন jQuery.isEmptyObject()?
Https://stackoverflow.com/a/6813294/698289 এর উপর ভিত্তি করে এখানে একটি jQuery ফিল্টার
$.extend($.expr[':'], {
trimmedEmpty: function(el) {
return !$.trim($(el).html());
}
});
জাভাস্ক্রিপ্ট
var el= document.querySelector('body');
console.log(el);
console.log('Empty : '+ isEmptyTag(el));
console.log('Having Children : '+ hasChildren(el));
function isEmptyTag(tag) {
return (tag.innerHTML.trim() === '') ? true : false ;
}
function hasChildren(tag) {
//return (tag.childElementCount !== 0) ? true : false ; // Not For IE
//return (tag.childNodes.length !== 0) ? true : false ; // Including Comments
return (tag.children.length !== 0) ? true : false ; // Only Elements
}
এর যে কোন একটি ব্যবহার করে দেখুন!
document.getElementsByTagName('div')[0];
document.getElementsByClassName('topbar')[0];
document.querySelectorAll('div')[0];
document.querySelector('div'); // gets the first element.
লাইন বিরতি এফএফ এর উপাদানগুলির বিষয়বস্তু হিসাবে বিবেচিত হয়।
<div>
</div>
<div></div>
উদা:
$("div:empty").text("Empty").css('background', '#ff0000');
আইই উভয় ডিভগুলি ফাঁকা হিসাবে বিবেচনা করা হয়, এফএফ এ একটি ক্রোম কেবল সর্বশেষটি খালি থাকে।
আপনি @ কিওয়ারটিমকের সরবরাহিত সমাধানটি ব্যবহার করতে পারেন
if(!/[\S]/.test($('#element').html())) { // for one element
alert('empty');
}
অথবা
$('.elements').each(function(){ // for many elements
if(!/[\S]/.test($(this).html())) {
// is empty
}
})
$('#elem').text().match(/\S/) || alert('empty');