मैं jQuery में एक तत्व के अस्तित्व की जांच कैसे कर सकता हूं?
मेरे पास वर्तमान कोड यह है:
if ($(selector).length > 0) {
// Do something
}
क्या यह दृष्टिकोण करने के लिए एक और अधिक सुंदर तरीका है? शायद एक प्लगइन या एक समारोह?
मैं jQuery में एक तत्व के अस्तित्व की जांच कैसे कर सकता हूं?
मेरे पास वर्तमान कोड यह है:
if ($(selector).length > 0) {
// Do something
}
क्या यह दृष्टिकोण करने के लिए एक और अधिक सुंदर तरीका है? शायद एक प्लगइन या एक समारोह?
जवाबों:
जावास्क्रिप्ट में, सब कुछ 'सत्य' या 'मिथ्या' है, और संख्याओं के लिए 0
(और NaN) का अर्थ है false
, बाकी सब कुछ true
। तो आप लिख सकते हैं:
if ($(selector).length)
आपको उस >0
भाग की आवश्यकता नहीं है ।
NaN != false
।
[] + []
= ""
... आह मुझे जावास्क्रिप्ट पसंद है
[].toString() === [].join(',') === ""
और "" === ""
।
typeof NaN == 'number'
हाँ!
jQuery.fn.exists = function(){ return this.length > 0; }
if ($(selector).exists()) {
// Do something
}
यह जवाब में है: जेफ एटवुड के साथ हेरिंग कोड पॉडकास्ट
$.fn.exists
उदाहरण दो फ़ंक्शन कॉल के साथ एक प्रॉपर्टी लुकअप (सस्ते!) की जगह ले रहा है, जो बहुत अधिक महंगे हैं - और उन फ़ंक्शन कॉल में से एक आपके पास पहले से मौजूद एक jQuery ऑब्जेक्ट को फिर से बनाता है, जो सिर्फ मूर्खतापूर्ण है।
.exists
है सफाई से पढ़ता है, जबकि .length
कुछ अलग शब्द के रूप में पढ़ता है, भले ही शब्दार्थ एक समान परिणाम के साथ मेल खाता हो।
अगर आपने इस्तेमाल किया
jQuery.fn.exists = function(){return ($(this).length > 0);}
if ($(selector).exists()) { }
आप समझेंगे कि जब यह नहीं था तो चेनिंग संभव था।
यह बेहतर होगा:
jQuery.exists = function(selector) {return ($(selector).length > 0);}
if ($.exists(selector)) { }
वैकल्पिक रूप से, अक्सर पूछे जाने वाले प्रश्न से :
if ( $('#myDiv').length ) { /* Do something */ }
आप निम्नलिखित का उपयोग भी कर सकते हैं। यदि jQuery ऑब्जेक्ट सरणी में कोई मान नहीं हैं, तो सरणी में पहला आइटम अपरिभाषित वापस आ जाएगा।
if ( $('#myDiv')[0] ) { /* Do something */ }
$(".missing").css("color", "red")
पहले से ही सही काम करता है ... (यानी कुछ भी नहीं)
$.fn
तरीके हैं जो एक नए jQuery ऑब्जेक्ट के अलावा कुछ और लौटाते हैं और इसलिए चेन नहीं करते हैं।
आप इसका उपयोग कर सकते हैं:
// if element exists
if($('selector').length){ /* do something */ }
// if element does not exist
if(!$('selector').length){ /* do something */ }
अस्तित्व की जाँच के लिए सबसे तेज़ और सबसे अधिक आत्म-व्याख्यात्मक तरीका वास्तव में सादे का उपयोग करके है JavaScript
:
if (document.getElementById('element_id')) {
// Do something
}
यह jQuery लंबाई विकल्प की तुलना में लिखने के लिए थोड़ा लंबा है, लेकिन यह तेजी से निष्पादित होता है क्योंकि यह एक देशी जेएस विधि है।
और यह अपने स्वयं के jQuery
फ़ंक्शन लिखने के विकल्प से बेहतर है । वह विकल्प धीमा है, जिन कारणों के लिए @snover ने कहा है। लेकिन यह अन्य प्रोग्रामर्स को यह आभास भी देगा कि दexists()
फ़ंक्शन jQuery के लिए अंतर्निहित है। JavaScript
अन्य लोगों द्वारा अपना कोड संपादित किया जाना चाहिए, बिना ज्ञान ऋण में वृद्धि के।
NB:element_id
( ' यह सादा JS है, नहीं है ' से पहले '#' की कमी पर ध्यान दें jQuery
।
$('#foo a.special')
। और यह एक से अधिक तत्वों को वापस कर सकता है। getElementById
उस तक पहुंचना शुरू नहीं कर सकता।
if(document.querySelector("#foo a.special"))
काम करेगा। कोई jQuery की जरूरत है।
आप लिखकर कुछ बाइट्स बचा सकते हैं:
if ($(selector)[0]) { ... }
यह काम करता है क्योंकि प्रत्येक jQuery वस्तु भी masquerades एक सरणी के रूप में है, तो हम सरणी अपसंदर्भन ऑपरेटर का उपयोग से पहले आइटम प्राप्त करने के लिए कर सकते हैं सरणी । undefined
यदि निर्दिष्ट सूचकांक में कोई आइटम नहीं है तो यह वापस आ जाता है।
jQuery.first()
या jQuery.eq(0)
दोनों वस्तुओं को वापस करते हैं, भले ही वे खाली ईश हों, वस्तुएं सत्य होती हैं। इस उदाहरण को स्पष्ट करना चाहिए कि इन कार्यों का उपयोग क्यों नहीं किया जा सकता है:if(jQuery("#does-not-exist").eq(0)) alert("#does-not-exist exists")
.eq(0)
केवल 1 या 0. लंबाई में छंटनी की गई एक और jQuery वस्तु के लिए रिटर्न केवल .first()
एक सुविधा विधि है .eq(0)
। लेकिन .get(0)
पहला DOM एलिमेंट देता है या undefined
जैसा है [0]
। JQuery ऑब्जेक्ट में पहला DOM तत्व नाम के साथ नियमित ऑब्जेक्ट प्रॉपर्टी में संग्रहीत किया जाता है '0'
। यह एक साधारण संपत्ति है। एकमात्र प्रकार की कास्टिंग संख्या के अंतर्निहित रूपांतरण से 0
स्ट्रिंग तक उपजी है '0'
। इसलिए यदि टाइप कास्टिंग एक समस्या है जिसका आप उपयोग कर सकते हैं $.find(selector)['0']
।
आप उपयोग कर सकते हैं:
if ($(selector).is('*')) {
// Do something
}
एक छोटे से अधिक सुरुचिपूर्ण, शायद।
666
पास कोड के टूटने के कई अन्य कारण हैं। जबकि यह एक अमान्य चयनकर्ता है, $ (666) .length मान्य जावास्क्रिप्ट है : यह सत्य का मूल्यांकन करता है, और इसलिए इस शर्त को पूरा करना चाहिए ।
$.find(666).length
काम करता है।
इस प्लगइन को एक if
स्टेटमेंट में इस्तेमाल किया जा सकता है जैसे कि if ($(ele).exist()) { /* DO WORK */ }
या कॉलबैक का उपयोग करना।
;;(function($) {
if (!$.exist) {
$.extend({
exist: function() {
var ele, cbmExist, cbmNotExist;
if (arguments.length) {
for (x in arguments) {
switch (typeof arguments[x]) {
case 'function':
if (typeof cbmExist == "undefined") cbmExist = arguments[x];
else cbmNotExist = arguments[x];
break;
case 'object':
if (arguments[x] instanceof jQuery) ele = arguments[x];
else {
var obj = arguments[x];
for (y in obj) {
if (typeof obj[y] == 'function') {
if (typeof cbmExist == "undefined") cbmExist = obj[y];
else cbmNotExist = obj[y];
}
if (typeof obj[y] == 'object' && obj[y] instanceof jQuery) ele = obj[y];
if (typeof obj[y] == 'string') ele = $(obj[y]);
}
}
break;
case 'string':
ele = $(arguments[x]);
break;
}
}
}
if (typeof cbmExist == 'function') {
var exist = ele.length > 0 ? true : false;
if (exist) {
return ele.each(function(i) { cbmExist.apply(this, [exist, ele, i]); });
}
else if (typeof cbmNotExist == 'function') {
cbmNotExist.apply(ele, [exist, ele]);
return ele;
}
else {
if (ele.length <= 1) return ele.length > 0 ? true : false;
else return ele.length;
}
}
else {
if (ele.length <= 1) return ele.length > 0 ? true : false;
else return ele.length;
}
return false;
}
});
$.fn.extend({
exist: function() {
var args = [$(this)];
if (arguments.length) for (x in arguments) args.push(arguments[x]);
return $.exist.apply($, args);
}
});
}
})(jQuery);
आप एक या दो कॉलबैक निर्दिष्ट कर सकते हैं। यदि तत्व मौजूद है, तो पहले वाला आग लगाएगा, यदि तत्व मौजूद नहीं है तो दूसरा फायर करेगा । हालाँकि, यदि आप केवल एक फ़ंक्शन को पास करना चुनते हैं, तो यह केवल तब मौजूद होगा जब तत्व मौजूद होगा। इस प्रकार, श्रृंखला मर जाएगी यदि चयनित तत्व नहीं करता है मौजूद है। बेशक, अगर यह मौजूद है, तो पहला फ़ंक्शन आग लगाएगा और श्रृंखला जारी रहेगी।
ध्यान रखें कि कॉलबैक संस्करण का उपयोग करने से चेनबिलिटी बनाए रखने में मदद मिलती है - तत्व वापस आ जाता है और आप कमांड को किसी अन्य वाई-फाई विधि की तरह जारी रख सकते हैं!
if ($.exist('#eleID')) { /* DO WORK */ } // param as STRING
if ($.exist($('#eleID'))) { /* DO WORK */ } // param as jQuery OBJECT
if ($('#eleID').exist()) { /* DO WORK */ } // enduced on jQuery OBJECT
$.exist('#eleID', function() { // param is STRING && CALLBACK METHOD
/* DO WORK */
/* This will ONLY fire if the element EXIST */
}, function() { // param is STRING && CALLBACK METHOD
/* DO WORK */
/* This will ONLY fire if the element DOES NOT EXIST */
})
$('#eleID').exist(function() { // enduced on jQuery OBJECT with CALLBACK METHOD
/* DO WORK */
/* This will ONLY fire if the element EXIST */
})
$.exist({ // param is OBJECT containing 2 key|value pairs: element = STRING, callback = METHOD
element: '#eleID',
callback: function() {
/* DO WORK */
/* This will ONLY fire if the element EXIST */
}
})
Has Items
कॉलबैक को वास्तव में तर्क के रूप में ऑब्जेक्ट में पास नहीं करना चाहिए ?
मैं देख रहा हूं कि अधिकांश उत्तर यहां सटीक नहीं हैं क्योंकि उन्हें होना चाहिए, वे तत्व की लंबाई की जांच करते हैं, यह कई मामलों में ठीक हो सकता है , लेकिन 100% नहीं , कल्पना करें कि संख्या इसके बजाय फ़ंक्शन से गुजरती है, इसलिए मैं एक फ़ंक्शन को प्रोटोटाइप करता हूं जो सभी की जांच करता है स्थितियाँ और उत्तर को उसी तरह वापस करना चाहिए जैसे यह होना चाहिए:
$.fn.exists = $.fn.exists || function() {
return !!(this.length && (this[0] instanceof HTMLDocument || this[0] instanceof HTMLElement));
}
यह लंबाई और प्रकार दोनों की जांच करेगा, अब आप इसे इस तरह से देख सकते हैं:
$(1980).exists(); //return false
$([1,2,3]).exists(); //return false
$({name: 'stackoverflow', url: 'http://www.stackoverflow.com'}).exists(); //return false
$([{nodeName: 'foo'}]).exists() // returns false
$('div').exists(); //return true
$('.header').exists(); //return true
$(document).exists(); //return true
$('body').exists(); //return true
वास्तव में jQuery की कोई आवश्यकता नहीं है। सादे जावास्क्रिप्ट के साथ यह जांचना आसान और शब्दशः सही है:
if(document.getElementById("myElement")) {
//Do something...
}
यदि किसी भी कारण से आप तत्व को आईडी नहीं देना चाहते हैं, तब भी आप DOM तक पहुँचने के लिए डिज़ाइन की गई किसी अन्य जावास्क्रिप्ट विधि का उपयोग कर सकते हैं।
jQuery वास्तव में अच्छा है, लेकिन शुद्ध जावास्क्रिप्ट को गुमनामी में न जाने दें ...
:has()
?
पिछले सभी उत्तरों के कारण .length
पैरामीटर की आवश्यकता होती है, वे ज्यादातर jquery के $()
चयनकर्ता का उपयोग कर रहे हैं, जिसमें पर्दे के पीछे querySelectorAll है (या वे इसे सीधे उपयोग कर रहे हैं)। यह विधि धीमी है, क्योंकि इसे संपूर्ण चयनकर्ता को उस चयनकर्ता को सभी मैचों की तलाश करने और उनके साथ एक सरणी पॉप्युलेट करने की आवश्यकता है।
['लंबाई'] पैरामीटर की जरूरत नहीं है या उपयोगी नहीं है और यदि आप document.querySelector(selector)
इसके बजाय सीधे उपयोग करते हैं तो कोड बहुत तेज होगा , क्योंकि यह पहले तत्व से मेल खाता है या नहीं मिला तो वापस आ जाता है।
function elementIfExists(selector){ //named this way on purpose, see below
return document.querySelector(selector);
}
/* usage: */
var myelement = elementIfExists("#myid") || myfallbackelement;
हालाँकि यह विधि हमें वास्तविक वस्तु को वापस करने के साथ छोड़ देती है; जो ठीक है अगर इसे चर के रूप में सहेजा नहीं जा रहा है और बार-बार उपयोग किया जा रहा है (इस प्रकार यदि हम भूल जाते हैं तो संदर्भ को आसपास रखते हुए)।
var myel=elementIfExists("#myid");
// now we are using a reference to the element which will linger after removal
myel.getParentNode.removeChild(myel);
console.log(elementIfExists("#myid")); /* null */
console.log(myel); /* giant table lingering around detached from document */
myel=null; /* now it can be garbage collected */
कुछ मामलों में यह वांछित हो सकता है। इसका उपयोग इस तरह से लूप में किया जा सकता है:
/* locally scoped myel gets garbage collected even with the break; */
for (var myel; myel = elementIfExist(sel); myel.getParentNode.removeChild(myel))
if (myel == myblacklistedel) break;
यदि आपको वास्तव में तत्व की आवश्यकता नहीं है और केवल एक सही / गलत को प्राप्त / स्टोर करना चाहते हैं, तो बस इसे डबल न करें !! यह उन जूते के लिए काम करता है जो अप्रयुक्त आते हैं, इसलिए यहां गाँठ क्यों?
function elementExists(selector){
return !!document.querySelector(selector);
}
/* usage: */
var hastables = elementExists("table"); /* will be true or false */
if (hastables){
/* insert css style sheet for our pretty tables */
}
setTimeOut(function (){if (hastables && !elementExists("#mytablecss"))
alert("bad table layouts");},3000);
है $.contains()
कि तुम क्या चाहते हो?
jQuery.contains( container, contained )
यह
$.contains()
विधि सही साबित होती है यदि दूसरा तर्क द्वारा प्रदान किया गया DOM तत्व पहले तर्क द्वारा प्रदान किए गए DOM तत्व का वंशज है, चाहे वह सीधा बच्चा हो या अधिक गहराई से घोंसला बनाने वाला। अन्यथा, यह गलत है। केवल तत्व नोड्स समर्थित हैं; यदि दूसरा तर्क एक पाठ या टिप्पणी नोड है,$.contains()
तो गलत वापस आ जाएगा।नोट : पहला तर्क एक DOM एलीमेंट होना चाहिए, न कि jQuery ऑब्जेक्ट या प्लेन जावास्क्रिप्ट ऑब्जेक्ट।
मैंने if ($(selector).length) {}
अपर्याप्त पाया है। selector
खाली वस्तु होने पर यह आपके ऐप को चुपचाप तोड़ देगा {}
।
var $target = $({});
console.log($target, $target.length);
// Console output:
// -------------------------------------
// [▼ Object ] 1
// ► __proto__: Object
मेरा एकमात्र सुझाव इसके लिए एक अतिरिक्त जांच करना है {}
।
if ($.isEmptyObject(selector) || !$(selector).length) {
throw new Error('Unable to work with the given selector.');
}
मैं अभी भी एक बेहतर समाधान की तलाश कर रहा हूं, क्योंकि यह थोड़ा भारी है।
संपादित करें: चेतावनी! यह IE में काम नहीं करता है जब selector
एक स्ट्रिंग है।
$.isEmptyObject('hello') // FALSE in Chrome and TRUE in IE
$()
को एक खाली वस्तु के साथ एक तर्क के रूप में बुलाते हैं ?
{}
लिए $()
?
आप जाँच सकते हैं कि तत्व मौजूद है या जावा स्क्रिप्ट में लंबाई का उपयोग नहीं कर रहा है। यदि लंबाई शून्य से अधिक है तो तत्व मौजूद है यदि लंबाई शून्य है तो तत्व मौजूद नहीं है
// These by Id
if ($("#elementid").length > 0) {
// Element is Present
} else {
// Element is not Present
}
// These by Class
if ($(".elementClass").length > 0) {
// Element is Present
} else {
// Element is not Present
}
एक तत्व के अस्तित्व के लिए जाँच करना आधिकारिक jQuery वेबसाइट में बड़े करीने से प्रलेखित है!
अपने चयनकर्ता द्वारा लौटाए गए jQuery संग्रह की .length संपत्ति का उपयोग करें :
if ($("#myDiv").length) { $("#myDiv").show(); }
ध्यान दें कि यह परीक्षण करना हमेशा आवश्यक नहीं है कि कोई तत्व मौजूद है या नहीं। निम्न कोड तत्व को दिखाएगा यदि यह मौजूद है, और कुछ भी नहीं (बिना किसी त्रुटि के) यदि यह नहीं है:
$("#myDiv").show();
यह सभी उत्तरों के समान है, लेकिन !
ऑपरेटर को दो बार उपयोग क्यों नहीं करना चाहिए ताकि आप बूलियन प्राप्त कर सकें:
jQuery.fn.exists = function(){return !!this.length};
if ($(selector).exists()) {
// the element exists, now what?...
}
$(selector).length && //Do something
if
जहां if
2 बाइट्स की कीमत पर पठनीयता में सुधार होगा , वहां उपयोग करने से बचने के इन चतुर तरीकों से मुझे नफरत है ।
DOM
तत्व के लिए परीक्षण का प्रयास करें
if (!!$(selector)[0]) // do stuff
हाईवे के उत्तर से प्रेरित होकर मैं निम्नलिखित बातों के साथ आया:
$.fn.exists = function() {
return $.contains( document.documentElement, this[0] );
}
jQuery.contains दो DOM एलिमेंट्स लेता है और चेक करता है कि पहले वाले में दूसरा है या नहीं।
document.documentElement
पहले तर्क के रूप में उपयोग करना exists
विधि के शब्दार्थ को पूरा करता है जब हम इसे वर्तमान दस्तावेज़ में एक तत्व के अस्तित्व की जांच करने के लिए पूरी तरह से लागू करना चाहते हैं।
नीचे, मैं एक साथ एक टुकड़ा है कि तुलना रख दिया है jQuery.exists()
के खिलाफ $(sel)[0]
और $(sel).length
जो दोनों वापसी दृष्टिकोण truthy
के लिए मूल्यों $(4)
जबकि $(4).exists()
रिटर्न false
। DOM में किसी तत्व के अस्तित्व की जाँच के संदर्भ में यह वांछित परिणाम प्रतीत होता है ।
JQuery की जरूरत नहीं (मूल समाधान)
if(document.querySelector('.a-class')) {
// do something
}
नीचे बहुत अधिक प्रदर्शन विकल्प (एक वर्ग से पहले डॉट की कमी का नोटिस)।
if(document.getElementsByClassName('a-class')[0]) {
// do something
}
querySelector jQuery में $ () (sizzle) जैसे एक उचित मिलान इंजन का उपयोग करता है और अधिक कंप्यूटिंग शक्ति का उपयोग करता है, लेकिन 99% मामलों में बस ठीक करेगा। दूसरा विकल्प अधिक स्पष्ट है और कोड को बताता है कि वास्तव में क्या करना है। यह jsperf https://jsperf.com/getelementsbyclassname-vs-queryselectorall/25 के अनुसार बहुत तेज़ है
मैं सिर्फ ऐसा करने के लिए सादे वेनिला जावास्क्रिप्ट का उपयोग करना पसंद करता हूं।
function isExists(selector){
return document.querySelectorAll(selector).length>0;
}
मैं इस सवाल पर अड़ गया और मैं वर्तमान में उपयोग किए जाने वाले कोड का एक स्निपेट साझा करना चाहूंगा:
$.fn.exists = function(callback) {
var self = this;
var wrapper = (function(){
function notExists () {}
notExists.prototype.otherwise = function(fallback){
if (!self.length) {
fallback.call();
}
};
return new notExists;
})();
if(self.length) {
callback.call();
}
return wrapper;
}
और अब मैं इस तरह कोड लिख सकते हैं -
$("#elem").exists(function(){
alert ("it exists");
}).otherwise(function(){
alert ("it doesn't exist");
});
यह बहुत कोड लग सकता है, लेकिन जब कॉफीस्क्रिप्ट में लिखा जाता है तो यह काफी छोटा होता है:
$.fn.exists = (callback) ->
exists = @length
callback.call() if exists
new class
otherwise: (fallback) ->
fallback.call() if not exists
मेरे पास एक मामला था जहां मैं देखना चाहता था कि क्या कोई वस्तु दूसरे के अंदर मौजूद है इसलिए मैंने चयनकर्ता के अंदर चयनकर्ता के लिए जाँच करने के लिए पहले उत्तर में कुछ जोड़ा।
// Checks if an object exists.
// Usage:
//
// $(selector).exists()
//
// Or:
//
// $(selector).exists(anotherSelector);
jQuery.fn.exists = function(selector) {
return selector ? this.find(selector).length : this.length;
};
कैसा रहेगा:
function exists(selector) {
return $(selector).length;
}
if (exists(selector)) {
// do something
}
यह बहुत न्यूनतम है और आपको $()
हर बार चयनकर्ता को संलग्न करने से बचाता है ।
if($("#thing").exists(){}
रूप में पढ़ता है, जो के रूप में पढ़ता है। इसके अलावा, यह jQuery तरीका नहीं है।
मैं इसका उपयोग कर रहा हूं:
$.fn.ifExists = function(fn) {
if (this.length) {
$(fn(this));
}
};
$("#element").ifExists(
function($this){
$this.addClass('someClass').animate({marginTop:20},function(){alert('ok')});
}
);
श्रृंखला को तभी निष्पादित करें जब कोई jQuery तत्व मौजूद हो - http://jsfiddle.net/andres_314/vbNM3/2/
यहाँ exist
jQuery में मेरा पसंदीदा तरीका है
$.fn.exist = function(callback) {
return $(this).each(function () {
var target = $(this);
if (this.length > 0 && typeof callback === 'function') {
callback.call(target);
}
});
};
और अन्य संस्करण जो चयनकर्ता के मौजूद नहीं होने पर कॉलबैक का समर्थन करता है
$.fn.exist = function(onExist, onNotExist) {
return $(this).each(function() {
var target = $(this);
if (this.length > 0) {
if (typeof onExist === 'function') {
onExist.call(target);
}
} else {
if (typeof onNotExist === 'function') {
onNotExist.call(target);
}
}
});
};
उदाहरण:
$('#foo .bar').exist(
function () {
// Stuff when '#foo .bar' exists
},
function () {
// Stuff when '#foo .bar' does not exist
}
);
$("selector"
) वह वस्तु लौटाता है जिसके पास length
संपत्ति है। यदि चयनकर्ता को कोई तत्व मिलते हैं, तो उन्हें ऑब्जेक्ट में शामिल किया जाएगा। इसलिए यदि आप इसकी लंबाई की जांच करते हैं तो आप देख सकते हैं कि क्या कोई तत्व मौजूद है। जावास्क्रिप्ट में 0 == false
, अगर आपको 0
अपना कोड नहीं मिलता है तो चलेगा।
if($("selector").length){
//code in the case
}
यहाँ विभिन्न स्थितियों और जाँच करने का पूरा उदाहरण है कि अगर jQuery चयनकर्ता तत्व का उपयोग कर रहा है या नहीं, तो यह तत्व मौजूद है या नहीं क्योंकि यह सरणी या तत्वों को लौटाता है।
var a = null;
var b = []
var c = undefined ;
if(a) { console.log(" a exist")} else { console.log("a doesn't exit")}
// output: a doesn't exit
if(b) { console.log(" b exist")} else { console.log("b doesn't exit")}
// output: b exist
if(c) { console.log(" c exist")} else { console.log("c doesn't exit")}
// output: c doesn't exit
अंतिम समाधान
if($("#xysyxxs").length){ console.log("xusyxxs exist")} else { console.log("xusyxxs doesnn't exist") }
//output : xusyxxs doesnn't exist
if($(".xysyxxs").length){ console.log("xusyxxs exist")} else { console.log("xusyxxs doesnn't exist") }
//output : xusyxxs doesnn't exist
आपको यह जाँचने की ज़रूरत नहीं है कि यह किस 0
तरह से अधिक है $(selector).length > 0
, $(selector).length
यह तत्वों के अस्तित्व की जाँच करने के लिए पर्याप्त और एक सुंदर तरीका है। मुझे नहीं लगता कि इसके लिए केवल एक फ़ंक्शन लिखने के लायक है, यदि आप अधिक अतिरिक्त चीजें करना चाहते हैं, तो हां।
if($(selector).length){
// true if length is not 0
} else {
// false if length is 0
}