document.getElementById로 "id ="의 값 변경
-
06-07-2019 - |
문제
이것이 올바른 방법입니까?
<a id="load" href="#" class="btn load" onclick="request(this); $('#load').fadeOut(2000)">add</a>
<a href="#" id="test" onClick="alert( 'TEST!' )">here</a>
<script language="javascript">
var requests = 2;
function request(self)
{if(self.href != "#")
requests -= 1;
if(requests === 0)
document.getElementById("test").id= "nextstep";}
</script>
요청 = 0이면 id = "test"가 id = "nextstep"으로 변경하려면 원합니다.
해결책
당신은 시도 할 수 있습니다 :
document.getElementById('test').setAttribute('id', 'nextstep');
다른 팁
스크립트 태그로 랩핑하는 한 바로 그 일을하는 방법입니다 ...
<script language="javascript" type="text/javascript">
if(requests === 0){
document.getElementById('test').id = "nextstep";
}
</script>
해당 앵커를 클릭 할 때 이것을 트리거하려고한다면 다음을 사용합니다.
<script language="javascript" type="text/javascript">
function changeID(){
if(requests === 0){
document.getElementById('test').id = "nextstep";
alert('TEST!');
}
}
</script>
<a href="#" id="test" onclick="changeID()">Test</a>
편집하다: 글쎄, 내가 이것을 게시 한 후 질문의 내용을 변경했습니다 ...
앵커 태그의 ID를 변경하려면 'setattribute'를 사용해야합니다.
getElementById ( 'test') 부분이 오른쪽에 있지만 ".setAttribute ( 'id', 'nextstep');"
도움이되기를 바랍니다!
if (self.href! = "#")
당신의 문제가 있습니다. 링크 hrefs는 브라우저에서 정식화되므로 링크 '#'페이지에서 링크http://www.example.com/'href 속성이있다'http://www.example.com/#'그리고 조건과 일치하지 않습니다.
글로벌 객체 (일명 '창')의 이름과 충돌하므로 'self'라는 이름을 사용하지 마십시오. JavaScript에서 핸들러를 할당하여 'Self'를 통과하는 서투른 것을 피할 수 있습니다.
document.getElementById('load').onclick= request;
대신 onclick
속성, 그런 다음 request ()에서 'this'를 사용할 수 있습니다. 요청 ()도해야합니다 return false;
링크를 준수하기 위해 (브라우저 스크롤을 상단으로 만들 됨). 여전히 사용하는 것이 좋습니다 <button>
(또는 <input type="button">
), 액션 버튼이기 때문에 새 창이나 북마크에서 열 수있는 링크가 아니기 때문입니다. (항상 CSS를 사용하여 버튼처럼 보이게 할 수 있습니다.)
HTML에 setAttribute ()를 사용하지 않으면이 사용법과 관련이없는 IE에 문제가 있습니다. 환경 element.id
이미 괜찮 았습니다.
그러나 이것은 모든 것이 어떤 경우에도하고 싶은 일을하는 이상한 방법처럼 보입니다.