2012-11-28 2 views
0

나는 site.com이라는 사이트를 가지고 있으며 classname이 내 다른 페이지 http://site.com/subfolder에 있는지 확인하고 예인 경우 코드를 수행합니다.다른 페이지에서 클래스 이름으로 요소를 선택하려면 어떻게해야합니까?

$(document).ready(function() { 
    if ($('http://site.com/subfolder classname').length > 0) { 
     $('.headline').after('<div>text</div>'); 
    } 
}); 

모든 도움을 주시면 감사하겠습니다.

+4

html을 가져 오기 위해 ajax 요청을 수행 한 다음 해당 html 내에서 요소를 검색해야합니다. –

+0

당신이 기대하는대로 할 수 없다 ... –

+0

다른 페이지에있는 요소의 CSS 클래스를 의미합니까? –

답변

1

당신이 사이트를 소유하고 있다면 나는 이것을하지 말아야한다고 생각합니다.

그러나, 당신은 여전히 ​​당신이이 라인을 따라 뭔가를 사용할 수 있습니다 주장하는 경우 :

$("<div/>").load("http://site.com/subfolder .classname", function(){ 
    if(this.children.length){ 
    $('.headline').after('<div>text</div>'); 
    } 
}); 

내가 .load()의 페이지 조각로드의 남용입니다.

+0

니스. JQuery에서 일치하는 요소를 구문 분석하는 것이 훨씬 쉽습니다. 그러나 엘리먼트에 자식이 없으면'this.children.length'는 0을 반환하고 false로 평가됩니다. – Enrico

+0

코드가 도움이되었습니다! 정말 고맙습니다. – user1646617

0

문서로드가 완료되면 jQuery를 사용하여 두 번째 페이지에 대한 요청을 발행 한 다음 클래스 이름에 대한 결과를 확인하십시오. 다음 스 니펫은 클래스 이름이 페이지의 마크 업에 표시되는지 확인합니다.

$(document).ready(function(){ 
    $.get('subfolder', function(data) { 
     if (data.indexOf('classname') != -1){ 
      $('.headline').after('<div>text</div>'); 
     } 
    }); 
)}; 

참고 indexOf는 대소 문자를 구분합니다. 이 특정 스 니펫은 classname이 하위 폴더의 페이지 마크 업에 표시되는 경우 일치하는 항목을 찾습니다.

관련 문제