2014-02-06 2 views
0

인덱스 파일의 앵커를 숨기고 싶습니다.이 파일을 .attr()을 사용하여 모든 내부 페이지에 표시하고 싶지만 알아낼 수는 없습니다. 내 모든 페이지에 숨겨져 있습니다. 스크립트와 HTML은 아래에 있습니다. 미리 감사드립니다. 인덱스 페이지에 대한 링크 링크, 당신은 에 인덱스 페이지입니다하지 않을 경우 경우인덱스에만 앵커 숨기기

$(document).ready(function(){ 
    if($('a.logo').attr('href') == 'index.php') { 
     $('.logo').hide(); 
    } 
}); 
<div class="page-header large-3 small-12 columns"> 
    <a href="index.php" class="logo svg-shadow"></a> 
</div> 
+1

원하지 않는 파일에 스크립트를 추가하십시오 나타납니다. –

+0

"모든 내부 페이지"저게 뭐지? –

+0

이 HTML이 모든 페이지에서 동일하면 왜 JS가 일부 페이지에서 다른 결과를 나타낼 것으로 예상합니까? 'a.logo'의'href' 속성은 항상'index.php' 인 것처럼 보입니다. – kapa

답변

3

당신은 테스트하고 있습니다.

은 아마 당신이 원하는 :

$(document).ready(function(){ 
    if(location.pathname === "/" || location.pathname === "/index.php") { 
     $('.logo').hide(); 
    } 
}); 
+0

+1 물론, 저의 보행자는 거기서'.toLowerCase()'를보고 싶습니다. – Archer

+0

그 트릭을했다. 덕분에 쿠엔틴. +1 – morocklo

-1

당신이 바닐라 PHP를 사용하고 또는 프레임 워크를 사용하고 있습니까? 링크가 색인에 나타나지 않고 모든 후속 페이지에 나타나게하려면 링크를 표시하려는 각 페이지에서 렌더링되는 부분 코드 세그먼트에 링크를 삽입합니다. 헤더 항목 인 경우 헤더에 포함시킨 다음 모든 페이지에 헤더를 렌더링합니다. 조금 더 많은 내용없이이 문제를 해결하는 가장 좋은 방법을 알아내는 것은 약간 어렵습니다.

는 jQuery를 함께 머물, 나는이 방법에는 다음과 같은

var pathname = $(location).attr('href'); 

if(pathname == "http://example.com/index.php") { 
    // Don't render the link 
} 
else { 
    // Render the link 
} 

문제 당신이 URL을 확인하기 위해 에 각 페이지를 JQuery와 검사를 추가하는 것입니다 할 것입니다. 이렇게하는 것이 가장 효율적인 방법은 아닙니다. 프레임 워크를 사용하지 않는 경우 링크를 표시 할 페이지에 링크를 추가하고 다른 페이지에서 링크를 추가하면됩니다 (예 : index.php)

+0

'location.pathname'은 당신이 사용해야하는 것이며, jQuery로 자바 스크립트 객체를 감싸서 애트리뷰트를 얻을 수 없다. 당신은 이름으로 그들을 얻습니다 -'location.href' – Archer