페이지 하단의 클릭 가능한 링크로 모든 URL을 찾아서 나열합니다.

자손

페이지의 모든 링크를 검색하는 자바 스크립트를 작성하려고 한 다음 원본 콘텐츠 아래의 하단에 추가합니다.

"Document.links"는 찾는 부분을 수행하는 것처럼 보이며 목록도 나열하지만 클릭 할 수 없습니다. 그래서 html 코드 (startHref 및 endHref 라인)를 추가하려고했는데, 이는 물론 모든 것을 망쳤습니다.

내 (작동하지 않는) 스크립트 :

var links = document.links;
for(var i = 0; i < links.length; i++) {
  var preLink = document.createTextNode("LINK: ");
  var linkHref = document.createTextNode(links[i].href);
  var lineBreak = document.createElement("br");
  var startHref = document.createElement("a href="");
  var endHref = document.createElement(""");

  document.body.appendChild(preLink);
  document.body.appendChild(startHref);
  document.body.appendChild(linkHref);
  document.body.appendChild(endHref);
  document.body.appendChild(lineBreak);
}

이것이 작동한다면 구현하기가 너무 어렵지 않다면 각 줄 앞에 숫자와 함께 나열하고 싶습니다 (1로 시작-preLink 부분에서 설정할 수 있음).

또한 모든 링크가 아니라 무언가와 일치하는 링크 만 나열하는 방법이 있습니까? 특정 도메인과의 링크와 같습니다. 감사합니다!

시저

이미 알고 있듯이 다음을 사용하여 문서의 모든 링크를 가져올 수 있습니다.

var links = document.links;

이제 HTMLCollection이 있습니다. 그것을 반복하고 모든 링크를 표시 할 수 있습니다. 더 나은 레이아웃을 위해 단락 ( p) 에 넣을 수 있습니다 . 이것은 루프입니다.

for (var i = 0; i < links.length; i++) {
    var p = document.createElement("p");
    p.appendChild(links[i]);
    document.body.appendChild(p);
}

이제 모든 링크가 페이지 끝에 추가되고 모든 링크가 자체 행에 있으며 클릭 할 수 있습니다. 이것을 시도하십시오.

편집 : 귀하의 의견에 따라 내가 올바르게 이해하면 한 줄을 추가하면됩니다.

for (var i = 0; i < links.length; i++) {
    var p = document.createElement("p");

    // the following line is added
    links[i].innerHTML = links[i].href;

    p.appendChild(links[i]);
    document.body.appendChild(p);
}

이 줄은 단순히 링크의 내부 HTML을 속성 값으로 바꿉니다 href.

편집하다:

변수 linksdocument.links. 따라서 기존 링크는 원래 위치에서 제거되고 끝에 추가됩니다. document.createElement("a")문서의 모든 링크를 반복하기 때문에 무한 루프를 만드는 것처럼 for 루프에서 새 링크를 만들려고하면 . 변수 linksdocument.links생성 된 시점 의 스냅 샷이 아니라이를 가리 킵니다.

배열을 생성하여이 문제를 해결할 수 있습니다.

var links = [];
// populate the array links
for (var j = 0; j < document.links.length; j++) {
    links.push(document.links[j].cloneNode());
}

이제 이것은 페이지에있는 모든 링크의 스냅 샷입니다. 모든 링크가 복제되고 어레이로 푸시됩니다. 이제 for 루프를 실행하면 원래 링크가 제거되지 않습니다.

원래 링크가 다음과 같은 경우 :

<a href="http://example.com" id="example" class="example-class" title="click me">This is an example.</a>

다음과 같이됩니다.

<a href="http://example.com" id="example" class="example-class" title="click me">http://example.com</a>

하지만 원하는 경우 :

<a href="http://example.com">http://example.com</a>

그런 다음 코드를 수정해야합니다.

  
for (var i = 0; i < links.length; i++) {
    var p = document.createElement("p");
    var a = document.createElement("a");
    a.href = links[i].href;
    a.text = links[i].href; // you can use text instead of innerHTML
    p.appendChild(a);
    document.body.appendChild(p);
}
  

출력 스타일을 지정하려면 다음과 같은 클래스를 추가 할 수 있습니다.

p.classList.add("my-css-class");

이것이 당신의 목표를 달성하는 데 도움이되기를 바랍니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

버튼을 클릭하면 페이지의 모든 링크가 CSS의 linkStyles 클래스로 변경됩니다.

분류에서Dev

Selenium을 사용하여 하나의 링크를 클릭 한 다음 메인 페이지로 돌아가서 다른 링크를 클릭하십시오.

분류에서Dev

링크를 클릭 한 후 새 URL을 열고 해당 페이지 내의 탭 링크를 자동으로 * 클릭 *합니다.

분류에서Dev

업로드 된 모든 파일 이름을 다운로드 가능한 링크로 표시하는 jsp 페이지를 만드는 방법 (GAE Java에서)?

분류에서Dev

친숙한 URL을 동적으로 생성하고 Asp.Net C #에서 클릭 된 모든 게시물에 대해 고유 한 페이지에서 SQL db의 콘텐츠를 렌더링합니다.

분류에서Dev

부실 요소 예외 : 페이지의 보고서 링크를 클릭 한 다음 뒤로 버튼을 클릭합니다.

분류에서Dev

웹 페이지에서 찾은 모든 링크를 나열하고 클릭하는 방법과 해당 링크가 404 페이지로 리디렉션되는지 확인하고 셀레늄에서 오류를 발생시키는 방법은 무엇입니까?

분류에서Dev

PrimeFaces Datatable 페이지 매기기 링크를 클릭하면 모든 확인란을 선택 취소합니다.

분류에서Dev

링크를 클릭하는 동안 jsp 페이지에서 하나 이상의 옵션을 원합니다.

분류에서Dev

jquery가 링크를 클릭하고 뒤로 클릭하여 CSS 속성을 변경합니다. 누구든지 나를 도울 수 있습니까?

분류에서Dev

링크를 클릭하고 나중에 모든 웹 페이지를 다시로드 할 때까지 Vue 라우터가로드되지 않는 이유

분류에서Dev

무한 로딩이 가능한 페이지로 아래로 스크롤하고 위로 스크롤하는 동안 페이지에있는 링크를 클릭합니다.

분류에서Dev

서로 다른 링크 클릭에서 하나의 단일 페이지에 서로 다른 HTML 코드로드

분류에서Dev

처음 삭제 버튼을 클릭하면 모든 메모가 사라지지만 페이지를 새로 고치면 정상적으로 작동합니다.

분류에서Dev

클릭 가능한 두 개의 버튼 / 링크로 나누어 진 웹 페이지

분류에서Dev

타일은 클릭 가능한 개체이며 클릭하면 동일한 페이지 각도가 아닌 별도의 페이지가 열립니다.

분류에서Dev

가능한 모든 조합을 PHP로 단일 배열로 나열하고 싶습니다.

분류에서Dev

다른 열을 유지하면서 특정 열의 가능한 모든 조합을 가져옵니다.

분류에서Dev

동시에 여러 개의 클릭 가능한 항목을 탭하면 모든 항목이 실행됩니다.

분류에서Dev

링크에 대한 자동 클릭 및 모든 페이지의 DOM으로 작업 수행

분류에서Dev

plupload에서 찾아보기 버튼을 클릭하면 가능한 업로드 파일입니까?

분류에서Dev

현재 페이지로 이동하기 위해 클릭 한 다른 페이지의 링크를 찾으십니까?

분류에서Dev

다른 페이지에서 링크를 클릭 한 후 ID로 부드럽게 스크롤하는 방법

분류에서Dev

클릭 가능한 행 링크를 다른 페이지로 만드는 방법

분류에서Dev

RichEditViewer를 사용하여 Inno Setup에서 사용자 정의 페이지에 클릭 가능한 링크를 추가하는 방법은 무엇입니까?

분류에서Dev

링크를 클릭하여 새 .php 페이지로 이동하면 링크가 작동하지 않습니다.

분류에서Dev

메뉴 버튼을 클릭하여 한 페이지로 돌아가서 위치로 스크롤하십시오.

분류에서Dev

Intellij IDEA-한 번의 클릭으로 애플리케이션을 시작하기 전에 모든 단위 테스트를 실행합니다.

분류에서Dev

링크를 클릭하면 다음 페이지에서 클래스 아코디언 요소 추가 / 변경

Related 관련 기사

  1. 1

    버튼을 클릭하면 페이지의 모든 링크가 CSS의 linkStyles 클래스로 변경됩니다.

  2. 2

    Selenium을 사용하여 하나의 링크를 클릭 한 다음 메인 페이지로 돌아가서 다른 링크를 클릭하십시오.

  3. 3

    링크를 클릭 한 후 새 URL을 열고 해당 페이지 내의 탭 링크를 자동으로 * 클릭 *합니다.

  4. 4

    업로드 된 모든 파일 이름을 다운로드 가능한 링크로 표시하는 jsp 페이지를 만드는 방법 (GAE Java에서)?

  5. 5

    친숙한 URL을 동적으로 생성하고 Asp.Net C #에서 클릭 된 모든 게시물에 대해 고유 한 페이지에서 SQL db의 콘텐츠를 렌더링합니다.

  6. 6

    부실 요소 예외 : 페이지의 보고서 링크를 클릭 한 다음 뒤로 버튼을 클릭합니다.

  7. 7

    웹 페이지에서 찾은 모든 링크를 나열하고 클릭하는 방법과 해당 링크가 404 페이지로 리디렉션되는지 확인하고 셀레늄에서 오류를 발생시키는 방법은 무엇입니까?

  8. 8

    PrimeFaces Datatable 페이지 매기기 링크를 클릭하면 모든 확인란을 선택 취소합니다.

  9. 9

    링크를 클릭하는 동안 jsp 페이지에서 하나 이상의 옵션을 원합니다.

  10. 10

    jquery가 링크를 클릭하고 뒤로 클릭하여 CSS 속성을 변경합니다. 누구든지 나를 도울 수 있습니까?

  11. 11

    링크를 클릭하고 나중에 모든 웹 페이지를 다시로드 할 때까지 Vue 라우터가로드되지 않는 이유

  12. 12

    무한 로딩이 가능한 페이지로 아래로 스크롤하고 위로 스크롤하는 동안 페이지에있는 링크를 클릭합니다.

  13. 13

    서로 다른 링크 클릭에서 하나의 단일 페이지에 서로 다른 HTML 코드로드

  14. 14

    처음 삭제 버튼을 클릭하면 모든 메모가 사라지지만 페이지를 새로 고치면 정상적으로 작동합니다.

  15. 15

    클릭 가능한 두 개의 버튼 / 링크로 나누어 진 웹 페이지

  16. 16

    타일은 클릭 가능한 개체이며 클릭하면 동일한 페이지 각도가 아닌 별도의 페이지가 열립니다.

  17. 17

    가능한 모든 조합을 PHP로 단일 배열로 나열하고 싶습니다.

  18. 18

    다른 열을 유지하면서 특정 열의 가능한 모든 조합을 가져옵니다.

  19. 19

    동시에 여러 개의 클릭 가능한 항목을 탭하면 모든 항목이 실행됩니다.

  20. 20

    링크에 대한 자동 클릭 및 모든 페이지의 DOM으로 작업 수행

  21. 21

    plupload에서 찾아보기 버튼을 클릭하면 가능한 업로드 파일입니까?

  22. 22

    현재 페이지로 이동하기 위해 클릭 한 다른 페이지의 링크를 찾으십니까?

  23. 23

    다른 페이지에서 링크를 클릭 한 후 ID로 부드럽게 스크롤하는 방법

  24. 24

    클릭 가능한 행 링크를 다른 페이지로 만드는 방법

  25. 25

    RichEditViewer를 사용하여 Inno Setup에서 사용자 정의 페이지에 클릭 가능한 링크를 추가하는 방법은 무엇입니까?

  26. 26

    링크를 클릭하여 새 .php 페이지로 이동하면 링크가 작동하지 않습니다.

  27. 27

    메뉴 버튼을 클릭하여 한 페이지로 돌아가서 위치로 스크롤하십시오.

  28. 28

    Intellij IDEA-한 번의 클릭으로 애플리케이션을 시작하기 전에 모든 단위 테스트를 실행합니다.

  29. 29

    링크를 클릭하면 다음 페이지에서 클래스 아코디언 요소 추가 / 변경

뜨겁다태그

보관