2012-06-04 12 views
0

방아쇠를 제대로 사용하는 법을 배우는 중입니다. 나는 하우투를 보았고 저자는 $ ('p')라고 타이핑했다. 콘솔에서 모든 p 태그를 표시했습니다. 내 경우에는 심지어 그 사이트 (내 로컬 드루팔 (Drupal 7 사이트)에 많은 p 태그가 항상 NULL을 보여줍니다. 또한 내가 시도한 다른 모든 태그들과 함께. 나는 다른 $를 앞에 붙여야한다. 그리고 이것은 다소 작용한다?! 나는 다른 방법으로는 효과가 없다고 잘못 생각한 적이 있습니까?방화 광에서 jquery가 항상 NULL을 throw합니다.

+5

이 (가) 귀하의 사이트에 jQuery 라이브러리가 포함되어 있지 않을 수 있습니다. – thecodeparadox

+0

ID로 선택하기 위해'$ (id)'를 사용하고' "p"'와 같이 선택자를 선택하기 위해'$$ (selector)'를 사용하는 MooTools가 포함 된 것처럼 들립니다. –

+0

나는 모든 Drupal 7 Site가 jquery를 가지고 있다고 가정하지만, jQuerify 버튼은 "이 페이지는 이미 jQuery v1.4.4를 사용하고 있습니다."라고 알려줍니다. 나는 Firebug와 Firequery가있는 MooTools 또는 그와 같은 Firefox 12.0만을 사용하지 않습니다. –

답변

1

귀하의 사이트에 jQuery 라이브러리가 포함되어있는 경우 모든의 jQuery 프로세스가 실행됩니다. 그렇지 않으면 어떤 console도 가져올 수 없습니다.

요소가없는 경우 []을 반환하므로 jQuery는 NULL을 얻을 수 없습니다. 또는 undefined이 표시 될 수 있지만 NULL은 절대로 사용하지 못할 수 있습니다.

0

이 시도 :

(function($) { 
    $('p'); 
})(jQuery); 
+0

>>> (function ($) {$ ('p');}) (jQuery); 정의되지 않음 –

+0

ye 나는 방화범이 끌리는 콘솔에서 이것을 다음과 같이 포장해야하지만 여전히 나에게 정의되지 않은 것을 돌려 준다. –

+0

'(function $) {return $ ('p');} (jQuery);' –

2

가 반환 또는 아무것도 인쇄되지 않았기 때문에 위의 예는 아무것도하지 않았다. 이 시도 :

(function($) { 
    console.log('this works'); 
    return $('p'); 
})(jQuery); 
+0

실제로이 작품! :) 그래서 나는 항상 모든 것을 싸야 만합니까? –

+0

예, 이것은 자바 스크립트 플러그인 호환성을 위해 지불해야하는 가격입니다 : P –

0

은 방화범 콘솔에서 다음 명령을 실행하십시오 :

jQuery.toSource() 
$.toSource() 

당신이 jQuery를 페이지에 포함 된 경우

, 그들은 모두, 즉, 같은 null이 아닌 값을 반환해야합니다, 문자열로서의 소스 코드 조각. 파이어 버그 콘솔에서 $되는 jQuery의 $과 같은 것을 강력하지 document.getElementById()에 대한 간단한 바로 가기가 Firebug command line API 의 내부 기능 :

당신이없는 경우 JQuery와 다음이 까다로운 페이지에 포함 그들은 같은 방식으로 작동하지 않습니다. 그런 다음 $('p')은 HTML 소스 코드에서 id="p" 인 요소를 찾습니다. 아무 것도 없으므로 널이됩니다.

$$은 Firebug 명령 줄 API의 또 다른 기능으로 CSS 선택기로 작동합니다. 그런 다음 $$('p')은 HTML 소스의 모든 <p> 요소 배열을 제공합니다.

관련 문제