JQuery determines if an element exists on a page

How to determine if an element exists on a page ... for example ...

$('select[name="modifier_option"]') 

If this selection window exists on the screen, I need to check its value on the page to make sure the value is> 0, but if it does not exist, I do not need to worry about it.

+10
javascript jquery
Nov 23 '10 at 15:47
source share
3 answers
  if( $('select[name="modifier_option"]').length ) { // it exists } 
+19
Nov 23 '10 at 15:49
source share

copy / paste from here: Is there a "exist" function for jQuery?

 jQuery.fn.exists = function(){return jQuery(this).length>0;} if ($(selector).exists()) { // Do something } 
+4
Nov 23 '10 at 15:49
source share

I answered the same question with the following plugin here . Please check back to find out more about creating the plugin.




The following plugin will allow you to use the callback function (while remaining built-in with jQuery-style markup) if this element exists. So, for your example, you can do something like:

 $('select[name="modifier_option"]').exist(function() { if ($(this).val() > 0) { /* DO WORK */ } else { /* is not greater than 0 DO OTHER WORK */ } }) 

Plugin

 (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') { // has at least one Callback Method var exist = ele.length > 0 ? true : false; // strict setting of boolean if (exist) { // Elements do 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 { // has NO callback method, thus return if exist or not based on element existant length if (ele.length <= 1) return ele.length > 0 ? true : false; // strict return of boolean else return ele.length; // return actual length for how many of this element exist } return false; // only hits if something errored! } }); $.fn.extend({ exist: function() { var args = [$(this)]; if (arguments.length) for (x in arguments) args.push(arguments[x]); return $.exist.apply($, args); } }); } })(jQuery); 

jsFiddle

0
02 Oct '13 at 17:32
source share



All Articles