programing

두 가지 요소 중 하나가 있으면 무언가를하십시오.

goodcopy 2021. 1. 14. 23:16
반응형

두 가지 요소 중 하나가 있으면 무언가를하십시오.


현재 두 가지 요소 중 하나가 있는지 확인하기 위해이 작업을 수행합니다.

if ($(".element1").length > 0 || $(".element2").length > 0) {
  //do stuff...
}

동일하게 다시 작성하는 더 좋은 방법이 있습니까? 내 말은 .length,과 동일 .length > 0합니까?


if ($(".element1").is('*') || $(".element2").is('*')) {
    // code
}

편집 (코멘트 당) 한 번의 호출로 여러 클래스별로 요소 선택 :

if ($(".element1, .element2").is('*')) {
    // code
}

if ( $('#myDiv')[0] ) { //do something }

.. 가장 잘 작동합니다!

여기 에서 찾았 습니다 .


모든 jQuery 요소에는 .length속성이 있습니다. 그냥 갈 수 있습니다.

if ($('img').length) // Implies: If this element exists..

http://jqueryfordesigners.com/element-exists/


!$.isEmptyObject($.find('#urId'))

요소가 있으면 "true"를 반환하고 그렇지 않으면 False를 반환합니다.

건배 :)


.each ()를 사용하십시오.

$(".element1").each(function(){
  //Do Something here
}

단순한...



여기 에서이 플러그인의 매우 업데이트 된 버전을 참조 하십시오 ! 이제 콜백 함수를 사용하므로 원하는 경우 체인 성을 유지할 수 있습니다. if 문을 완전히 대체 하거나 if 문 내에서 계속 사용할 수 있습니다 .


이를 위해 다음과 같이 매우 간단한 jQuery 플러그인을 만들 수 있습니다.

jsFiddle

(function($) {
    if (!$.exist) {
        $.extend({
            exist: function(elm) {
                if (typeof elm == null) return false;
                if (typeof elm != "object") elm = $(elm);
                return elm.length ? true : false;
            }
        });
        $.fn.extend({
            exist: function() {
                return $.exist($(this));
            }
        });
    }
})(jQuery);

사용하다

//  With ID 
$.exist("#eleID");
//  OR
$("#eleID").exist();

//  With class name
$.exist(".class-name");
//  OR
$(".class-name").exist();

//  With just tag // prolly not best idea aS there will be other tags on site
$.exist("div");
//  OR
$("div").exist();

If 문으로

if ($(".element1").exist() || $(".element2").exist()) {
    ...stuff...
}

물론이 플러그인은 훨씬 더 멋지게 확장 될 수 있지만 (한 번에 여러 호출 처리, 유모차를 기반으로 존재하지 않는 요소 생성) 현재로서는 매우 간단하고 매우 필요한 기능을 수행합니다. 이 요소가 있습니까? 반환 True또는False

jsFiddle


$.fn.exists = function(ifExists) {
    return this.length ? ifExists.call(this, this) : this;
};

용법:

$('.element1, .element2').exists(function(els) {
    // this and els refers to $('.element1, .element2')
});

참조 URL : https://stackoverflow.com/questions/1899103/if-one-of-two-elements-exists-do-something

반응형