hrefJavaScript를 사용하여 동적으로 링크에 속성을 추가하려면 어떻게 해야합니까?
기본적으로 href속성을 <a></a>동적으로 추가하고 싶습니다 (예 : 사용자가 웹 사이트의 특정 이미지를 클릭 할 때).
그래서 :
<a>Link</a>
다음으로 이동해야합니다.
<a href="somelink url">Link</a>
답변:
var a = document.getElementById('yourlinkId'); //or grab it by tagname etc
a.href = "somelink url"
HTMLLinkElement같은 특정 필드를 설정하는 지지대 href. 필요없이 사용할 수있는 참조를 확인하려면 참조를 확인해야 setAttribute합니다. 또 다른 예는 새 행을 만들고 테이블에 추가 하지 않고도 새 행을 삽입 하는 데 사용할 수 있는 <table>요소 ( HTMLTableElement ) 입니다. insertRow()<tr>
setAttribute()및 속성을 사용하는 것을 선호해야합니다.이 속성 getAttribute()은 IE에서 손상되고 항상 예상 한대로 수행되지는 않습니다. 참조 stackoverflow.com/questions/4456231/…
<a>요소 (사용 document.getElementById또는 다른 방법)에 대한 DOM 개체를 얻는 방법을 알고 있다고 가정합니다 .
속성을 추가하려면 DOM 객체 에서 setAttribute 메소드를 사용하면됩니다 .
a = document.getElementById(...);
a.setAttribute("href", "somelink url");
setAttribute분명히 표준입니다 ( w3.org/TR/DOM-Level-2-Core/core.html#ID-F68F082 ). W3C는 작동하지 않는 속성을 정의하지 않습니다. 반대로 특정 속성 이름에 대해 속성 사용이 실패한다는 것을 보장 할 수 있습니다. 같은 tagName, 그리고 setAttribute사람들은 이미 필드 / Element 인터페이스의 방법이 있습니다 -. 속성에 대한 속성을 언급하는 W3C 문서의 어느 곳도 볼 수 없습니다.
tagName. 사용자 정의 속성에 대해 이야기하고 있습니까?
getAttribute및 setAttribute; "tagName"속성으로 작동 할 수없는 속성의 예입니다. HTML로 작업 할 때와 DOM HTML 사양에 정의 된 특정 속성에 대해서만 속성을 사용하여 속성을 읽고 할당 할 수 있습니다.
tagName 는Element HTML과 XML DOM 모두에서 JavaScript 의 객체 속성이며 getAttribute("tagName")( getAttribute()및 구현 setAttribute()이 중단 된 IE 제외)를 통해 요소의 태그 이름을 가져올 수 없습니다 .
첫째, 변화 시도 <a>Link</a>에 <span id=test><a>Link</a></span>.
그런 다음 호출중인 javascript 함수에 다음과 같이 추가합니다.
var abc = 'somelink';
document.getElementById('test').innerHTML = '<a href="' + abc + '">Link</a>';
이렇게하면 링크가 다음과 같이 표시됩니다.
<a href="somelink">Link</a>
href에 기존 a 태그 ( 나는 기본적으로 동적 </a>를 Ra이고하는 HREF 속성을 추가 할 ). 그러나이 답변하는 방법을 설명하는 것으로 보인다 만들a 에 태그를 href.
document.getElementById('link-id').href = "new-href";
나는 이것이 오래된 게시물이라는 것을 알고 있지만 여기에 일부 사람들에게 더 적합한 한 줄짜리 글이 있습니다.
setAttribute). 이 접근 방식이 표준인지 아는 사람이 있습니까?