2011-10-20 2 views
4

ID 나 클래스가없는 기본 링크를 클릭하여 에뮬레이트하려고합니다.javascript를 사용하여 태그에 click()을 적용하는 방법

<a href="http://www.myebsite.com/service/playnow">Click to Start</a> 

다음 코드가 있지만 페이지를로드 할 때 클릭 동작이 수행되지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

var a = document.evaluate('//a[contains(@href, "playnow")]' ,document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); 
    if(a){ 
     a.click(); 
    } 
+0

태그에 ID가없는 이유가 있습니까? 사실'a'가 값을 가지고 있는지 확인 했습니까 (확인을 위해'click()'호출 전에 window.alert (a);를 넣었습니다) –

답변

4

태그에 ID가없는 이유는 이상합니다.하지만 그대가 그대를 통제 할 수없는 이유가 있다고 생각합니다. 티. '클릭'방식으로 클릭을 에뮬레이션 할 수 있다고 생각하지 않으므로 다음과 같이 시도해보십시오.

var a = document.evaluate('//a[contains(@href, "playnow")]' ,document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); 
if(a){ 
    window.location.href = a.href; 
} 
+0

잘이 작품에 감사드립니다. – bammab

1

가장 쉬운 방법은 앵커 태그에 ID를 추가 한 다음 DOM 요소에 click 함수를 호출하는 것입니다

HTML :

<a id="theAnchor" href="http://www.myebsite.com/service/playnow">Click to Start</a> 

자바 스크립트 :

document.getElementById('theAnchor').click(); 
+0

고마워요.이 메소드도 있습니다.하지만 이걸 사용하려고합니다. 크롬 확장을 위해 또한 어떤 경우에는 ID 태그를 추가 할 수 없습니다. 다른 방법이 있습니까 – bammab

관련 문제