2016-08-29 5 views
1

누군가 도움을 줄 수 있기를 바랍니다.동적으로 href를 변경하고 URL 조각에 연결

<a class="resourceLink" href="" title="Link to Resources section" target="_blank">Resources</a> 
:이 같은 몇 가지 링크를 사용하고있어 HTML에서

$(document).ready(function(){ 
    if (document.location.pathname.indexOf('cab2') > -1){ 
     document.getElementsByClassName('resourceLink').setAttribute('href','http://www.myserver.net/cab2/#linkResources'); 
     } else { 
      document.getElementByClassName('resourceLink').setAttribute('href','http://www.myserver.net/cab/#linkResources'); 
     }; 
}); 

: 동적으로 페이지에하는 HREF를 변경 한 다음과 같은 단편을 포함하는 URL에 사용자를 가리 키도록 노력하고있어

내가 스크립트는 방문자가 사이트에 도달하기 위해 사용했다 url로 내용을 확인할 것이었다 기대했다 하나

  • . net/cab 또는 cab2)가 아니라 #fragment 페이지가 있어야합니다.

    내가 뭘 잘못하고 있니? 관심을 가져 주셔서 감사합니다.

  • +0

    [getElementByClass().의 setAttribute가 작동하지 않습니다]의 사용 가능한 복제 (http://stackoverflow.com/questions/2565909/getelementbyclass -setattribute-doesnt-work) – dave

    +0

    jQuery를 사용하고 있습니다. – epascarello

    답변

    3

    .getElementsByClassName()은 단일 요소가 아닌 HTMLCollection을 반환합니다. 당신은 설정, .attr() 모든 .resourceLink 요소를 반복하는 .each()을 사용할 수 있습니다 href 속성 값

    $(document).ready(function(){ 
        var link = document.location.pathname.indexOf('cab2') > -1 ? "cab2" : "cab"; 
        $('.resourceLink') 
        .each(function() { 
         $(this) 
         .attr('href','http://www.myserver.net/'+ link +'#linkResources') 
        }); 
    }); 
    
    +1

    Thanks @ guest271314, 그래도 작동하도록 할 수는 없지만 귀하의 의견은 저를 시작 시켰습니다. var link 문에 작은 오타가 있다는 점에 유의하십시오. –

    +0

    @RogerW _ "여전히 작동하지 않습니다"_ 현재 문제는 무엇입니까? 마지막 슬래시'/'가 필요합니까? – guest271314

    +0

    그래도 기본 페이지 (www.myserver.net/cab/ (또는 cab2))를로드하고 첨부 된 부분 즉 www.myserver.net/cab/#linkResources는로드하지 않습니다. 당신의 도움을 주셔서 감사합니다! –