var sd = jQuery(".bla");
if (sd.length>0){
}
코드를 작성하는 데 더 시원한 방법이 있습니까? bla
이라는 클래스가있는 경우에만 코드가 실행되기를 원합니다. 나는 각각을 사용할 수 있다는 것을 알고 있지만, 나는 원하지 않는다. 나는 sd.action()
과 같은 것을 할 수 있다는 것을 알고 있지만, 나는 원하지 않는다.jQuery 및 .length> 0
var sd = jQuery(".bla");
if (sd.length>0){
}
코드를 작성하는 데 더 시원한 방법이 있습니까? bla
이라는 클래스가있는 경우에만 코드가 실행되기를 원합니다. 나는 각각을 사용할 수 있다는 것을 알고 있지만, 나는 원하지 않는다. 나는 sd.action()
과 같은 것을 할 수 있다는 것을 알고 있지만, 나는 원하지 않는다.jQuery 및 .length> 0
나는이 얼마나 '쿨러'확실하지 않다, 그러나 다만 :
if ($('.bla').length) {
// Do stuff
}
트릭을 할 것입니다.
편집는 :
var sd = $(".bla");
if (sd.length) {
// Do stuff
}
내가 느린 것보다 쿼리가 반환 한 객체로 나중에 무엇인가하고 싶다면. – IAdapter
(제 생각에) 그 보이게하는 "멋진"방법은
if ($('.bla').length > 0) {
// ...
}
내가 느린 것보다 쿼리에 의해 반환 된 개체를 가지고 나중에 뭔가를하고 싶다면. – IAdapter
그 페이지에서 따옴표 : * ".length 속성이 더 좋습니다"* –
솔직히, 이것은 당신이 원하는 것을 할 수있는 완벽하게 수용하고 빠른 방법 (어떤 함수 호출)입니다. 나는 항상 비슷한 일을한다. 심지어 $().each
을 사용하더라도 실제로는 을 수행하지 않아도 함수 호출이 필요하기 때문에 다소 느립니다.을 수행합니다.
다른 답변에 대해서는 올바른 내용입니다. $('.bla')
을 두 번 이상 수행하면 속도가 느려집니다. 나중에 $('.bla')
을 사용할 수 있다고 생각되면 코드에있는 것처럼 변수에 저장하는 것이 좋습니다. 이렇게하면 다른 jQuery 호출을 피하고 브라우저에서 가비지 수집을 처리 할 수 있습니다.
희망적이라고 생각하세요! :)
이것은 사실입니다. 스크립트의 다른 부분에서 선택기를 다시 사용하려는 경우 변수에 할당하는 것이 훨씬 더 효과적입니다. –
아니 : 당신은 확인 후 선택을 다시 사용해야하는 경우, 당신은 여전히 같은 구문을 사용할 수 있습니다.
나는 더 차가운 것이 없다고 생각합니다.
코드 당신이 .. 길이 등을 사용하지 않으려면 조금 "쿨러"
jQuery.fn.extend({
exists: function() {
return this.length !== 0;
}
});
if (jQuery(".bla").exists()) {
console.log('found');
}
'> 0'을 쓰지 않는 이유는 2 바이트를 절약하기 위해서입니다. – pimvdb
당신은 제거 할 수 보이게하기 위해 (SO 나 그냥 아니오 질문에 대답 할 수 wouldnt한다)은'> 0 '부분. – pimvdb
. 길이는 매우 시원합니다. 단순함의 아름다움 :) – DannyLane
'jQuery' 대신'$'가 더 시원합니다. –