2012-02-28 5 views
0

자바 스크립트/구글 클로저를 사용하여 문 안에서 스크립트를 실행하는 경우에 클래스가 존재하는지 테스트하고 싶습니다. 문제는 내 현재 코드가 정의되지 않은 반환 그래서 누군가가 내게 몇 가지 조언을 줄 수 있을지 궁금 해서요?자바 스크립트에서 if 문을 사용하여 조언

if (goog.dom.classes.has('html', 'pe')) { 

    var searchCtn = goog.dom.getElementsByClass('search'); 
    var headerWrapper = goog.dom.getElementByClass('header'); 
    goog.dom.append(headerWrapper,searchCtn); 
} 
+1

을 반환은 무엇입니까? –

+0

기본적으로 내가 콘솔에서 이것을 실행하면 html에 .pe 클래스가있다. 내 .search 클래스는 .header에 추가되지 않는다. if없이 콘솔에서 스크립트를 실행하면 .search가 추가됩니까? – styler

+0

var headerWrapper = goog.dom.getElementByClass ('header'); '에서's '가 누락 된 것 같습니다. 이로 인해 추가 기능이 실행되지 못하게하는 예외가 발생합니다. –

답변

1

'html'은 (는) 유효한 요소 개체가 아닙니다. document.documentElement를 전달하거나 google을 사용하여 클래스 이름별로 요소를 가져옵니다. 정확히 정의되지 않은

if (goog.dom.classes.has(document.documentElement, 'pe')) {  
    var searchCtn = goog.dom.getElementsByClass('search');  
    var headerWrapper = goog.dom.getElementByClass('header');  
    goog.dom.append(headerWrapper,searchCtn); 
} 

또는

if(goog.dom.getElementsByClass('pe')){ 
    var searchCtn = goog.dom.getElementsByClass('search');  
    var headerWrapper = goog.dom.getElementByClass('header');  
    goog.dom.append(headerWrapper,searchCtn); 
} 
관련 문제