탐색 메뉴 링크 스타일을 지속적으로 유지하는 방법은 무엇입니까?

산지 트 싱

내 탐색 메뉴에 4 개의 항목이 있습니다.

<nav>
 <ul >
  <li><a href="/a.html">ITEM A</a></li>
  <li><a href="/b.html">ITEM B</a></li>
  <li><a href="/c.html">ITEM C</a></li>
 </ul>
</nav>

이러한 항목을 가리 키거나 클릭하면 색상이 변경됩니다. 그러나 페이지 새로 고침 후 색상이 사라집니다. 사용자가를 클릭 b.html하면 페이지가 다시로드 될 때 메뉴 항목 B의 색상이 달라지기를 원합니다.

내 질문을 명확히하고 있습니까?

감사.

David는 Monica를 복원한다고 말합니다

내가 생각할 수있는 가장 간단한 jQuery 기반 대답은 href속성 값 을 검색 하고 현재 페이지의 URL이 해당 속성 값으로 끝나는 지 테스트하는 것입니다.

// getting the current location:
var url = document.location.href;

// iterating over each <a> element using filter(), using a
// more specific selector will reduce the work undertaken:
$('a').filter(function(i, a) {
    // i: the index of the current <a> element within the
    //    jQuery collection;
    // a: the current <a> DOM node.

    // String.prototype.endsWith() returns a Boolean, true
    // if the supplied string (url) ends with the supplied
    // argument (the attribute-value of the 'href'
    // attribute of the current <a> element):
    return url.endsWith( a.getAttribute('href') );

// we add the 'activeClass' class-name to those elements
// retained in the collection, to provide a styling hook:
}).addClass('activeClass');

또는 브라우저가 지원하지 않는 (다소 가능성이있는) 이벤트 String.prototype.endsWith():

var url = document.location.href;
$('a').filter(function(i, a) {

    // retaining only those <a> elements whose
    // 'href' property (the absolute URL
    // derived from the <a> elements' href
    // attribute) is equal to the document location:
    return url == a.href;
}).addClass('activeClass');

또는 일반 JavaScript에서 :

var aElements = Array.from(document.querySelectorAll('a')),
// or, in the event that ES6 Array.from() is unavailable:
// var aElements = Array.prototype.slice.call(document.querySelectorAll('a'), 0),
    url = document.location.href;

aElements.filter(Function (currentAnchor) {
    return currentAnchor.href == url;
}).forEach(function (currentAnchor) {
    currentAnchor.classList.add('activeClass');
});

분명히 위의 모든 접근 방식에서는 찾은 링크의 스타일을 지정하기 위해 CSS에 클래스를 정의해야합니다. 예를 들면 다음과 같습니다.

a:active,
a.activeClass {
    color: #f90;
    text-decoration: underline;
}

다소 낙관적이기는하지만 미래의 어느 시점에서의 의사 클래스 는 현재 페이지를 가리키는 요소의 :local-link스타일 지정할 수 있습니다 <a>. 예를 들면 다음과 같습니다.

a:active,
a:local-link {
    color: #f90;
    text-decoration: underline;
}

나는이 점에 유의하겠습니다 만, 글을 쓰는 시점에서,이 아직 구현되지 않으며, 심지어 나열caniuse.com .

참고 문헌 :

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Curses 탐색 메뉴에서 두 번 입력을받는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

탐색 메뉴에 모든 예상 항목이 있는지 테스트하는 방법은 무엇입니까?

분류에서Dev

Foundation 5 오프 캔버스 탐색 메뉴를 끈적하게 만드는 방법은 무엇입니까?

분류에서Dev

반응 형 탐색 메뉴를 페이지 상단에 유지하는 방법은 무엇입니까?

분류에서Dev

Firefox에서 비활성화 된 스크립트로 방문한 Google 검색 링크를 지속적으로 강조하는 방법은 무엇입니까?

분류에서Dev

UITableView 탐색을 사이드 바 메뉴로 바꾸는 가장 간단한 방법은 무엇입니까?

분류에서Dev

JavaFX에서 FXTable의 TableMenuButton 컨텍스트 메뉴의 배경 및 텍스트 색상 스타일을 지정하는 방법은 무엇입니까?

분류에서Dev

링크에서 도메인을 변경하지만 경로를 유지하는 방법은 무엇입니까?

분류에서Dev

Android : 탐색 창에있는 메뉴 항목이 무효화되는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

링크를 클릭 한 후 : active CSS 스타일을 유지하는 방법은 무엇입니까?

분류에서Dev

메뉴 항목을 href를 사용하여 링크로 리디렉션하는 방법은 무엇입니까?

분류에서Dev

JavaFX : VBox 배경색을 지속적으로 유지하는 방법은 무엇입니까?

분류에서Dev

Gatsby 및 React Bootstrap에서 정렬되지 않은 목록 링크로 탐색을 렌더링하는 방법은 무엇입니까?

분류에서Dev

Prestashop 1.7은 카테고리 이름에 특수 문자 태그를 추가했지만 유효하지 않습니다. 메뉴 탐색 탐색에서 문자열을 분할하는 방법은 무엇입니까?

분류에서Dev

링크 색상을 변경할 때 원래 호버 색상을 유지하는 방법은 무엇입니까?

분류에서Dev

Google 크롬에서 컨텍스트 메뉴의 배경색을 스타일링하기위한 매개 변수 이름은 무엇입니까?

분류에서Dev

BotFramework에서 메뉴 버튼의 스타일을 지정하는 방법은 무엇입니까?

분류에서Dev

적절한 위치 지정을 위해 부트 스트랩 탐색 모음 링크를 선택하는 방법은 무엇입니까?

분류에서Dev

탐색 메뉴의 Z- 색인을 관리하는 방법은 무엇입니까?

분류에서Dev

탐색 메뉴의 Z- 색인을 관리하는 방법은 무엇입니까?

분류에서Dev

스크롤 후 탐색 모음을 중지하는 방법은 무엇입니까?

분류에서Dev

jsoup으로 링크 제목 속성을 유지하는 방법은 무엇입니까?

분류에서Dev

Liferay의 탐색 메뉴에 숨겨진 페이지에서 탐색 메뉴를 숨기는 방법은 무엇입니까?

분류에서Dev

jQuery Mobile에서 링크 텍스트 색상을 동적으로 변경하는 방법은 무엇입니까?

분류에서Dev

에코로 작성한 링크의 스타일을 지정하는 방법은 무엇입니까?

분류에서Dev

탐색 및 스크롤 메인을 수정하는 방법은 무엇입니까?

분류에서Dev

하단 탐색보기의 메뉴 항목을 비활성화하는 방법은 무엇입니까?

분류에서Dev

메뉴 아이콘을 클릭하여 탐색 창을 여는 방법은 무엇입니까?

분류에서Dev

Firefox 오른쪽 클릭 메뉴에서 탐색 컨트롤을 제거하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Curses 탐색 메뉴에서 두 번 입력을받는 것을 방지하는 방법은 무엇입니까?

  2. 2

    탐색 메뉴에 모든 예상 항목이 있는지 테스트하는 방법은 무엇입니까?

  3. 3

    Foundation 5 오프 캔버스 탐색 메뉴를 끈적하게 만드는 방법은 무엇입니까?

  4. 4

    반응 형 탐색 메뉴를 페이지 상단에 유지하는 방법은 무엇입니까?

  5. 5

    Firefox에서 비활성화 된 스크립트로 방문한 Google 검색 링크를 지속적으로 강조하는 방법은 무엇입니까?

  6. 6

    UITableView 탐색을 사이드 바 메뉴로 바꾸는 가장 간단한 방법은 무엇입니까?

  7. 7

    JavaFX에서 FXTable의 TableMenuButton 컨텍스트 메뉴의 배경 및 텍스트 색상 스타일을 지정하는 방법은 무엇입니까?

  8. 8

    링크에서 도메인을 변경하지만 경로를 유지하는 방법은 무엇입니까?

  9. 9

    Android : 탐색 창에있는 메뉴 항목이 무효화되는 것을 방지하는 방법은 무엇입니까?

  10. 10

    링크를 클릭 한 후 : active CSS 스타일을 유지하는 방법은 무엇입니까?

  11. 11

    메뉴 항목을 href를 사용하여 링크로 리디렉션하는 방법은 무엇입니까?

  12. 12

    JavaFX : VBox 배경색을 지속적으로 유지하는 방법은 무엇입니까?

  13. 13

    Gatsby 및 React Bootstrap에서 정렬되지 않은 목록 링크로 탐색을 렌더링하는 방법은 무엇입니까?

  14. 14

    Prestashop 1.7은 카테고리 이름에 특수 문자 태그를 추가했지만 유효하지 않습니다. 메뉴 탐색 탐색에서 문자열을 분할하는 방법은 무엇입니까?

  15. 15

    링크 색상을 변경할 때 원래 호버 색상을 유지하는 방법은 무엇입니까?

  16. 16

    Google 크롬에서 컨텍스트 메뉴의 배경색을 스타일링하기위한 매개 변수 이름은 무엇입니까?

  17. 17

    BotFramework에서 메뉴 버튼의 스타일을 지정하는 방법은 무엇입니까?

  18. 18

    적절한 위치 지정을 위해 부트 스트랩 탐색 모음 링크를 선택하는 방법은 무엇입니까?

  19. 19

    탐색 메뉴의 Z- 색인을 관리하는 방법은 무엇입니까?

  20. 20

    탐색 메뉴의 Z- 색인을 관리하는 방법은 무엇입니까?

  21. 21

    스크롤 후 탐색 모음을 중지하는 방법은 무엇입니까?

  22. 22

    jsoup으로 링크 제목 속성을 유지하는 방법은 무엇입니까?

  23. 23

    Liferay의 탐색 메뉴에 숨겨진 페이지에서 탐색 메뉴를 숨기는 방법은 무엇입니까?

  24. 24

    jQuery Mobile에서 링크 텍스트 색상을 동적으로 변경하는 방법은 무엇입니까?

  25. 25

    에코로 작성한 링크의 스타일을 지정하는 방법은 무엇입니까?

  26. 26

    탐색 및 스크롤 메인을 수정하는 방법은 무엇입니까?

  27. 27

    하단 탐색보기의 메뉴 항목을 비활성화하는 방법은 무엇입니까?

  28. 28

    메뉴 아이콘을 클릭하여 탐색 창을 여는 방법은 무엇입니까?

  29. 29

    Firefox 오른쪽 클릭 메뉴에서 탐색 컨트롤을 제거하는 방법은 무엇입니까?

뜨겁다태그

보관