2012-07-10 4 views
1

playgame이라는 단어가 포함 된 링크를 검색하려고합니다. 그들이 발견하면 배열에 추가합니다. 그 후 배열에서 임의의 값을 선택하고 window.location을 사용하십시오. 내 문제는 그것이 내 indexof 정의되지 않은 말합니다. 나는 자바 스크립트의이 기능을 사용하는 방법을 배우는 중 무엇을 의미하는지 정확히 모르겠습니다. 링크의단어가 포함 된 특정 링크를 찾고 배열에 추가하십시오.

예를

<a href="playgame.aspx?gid=22693&amp;tag=ddab47a0b9ba5cb4"><img src="http://games.mochiads.com/c/g/running-lion-2/_thumb_100x100.jpg"></a> 

자바 스크립트

var gameLinks = document.getElementsByTagName("a"); 
if (gameLinks.href.indexOf("playgame") != -1) { 
    var links = []; 
    links.push(gameLinks.href); 
    var randomHref = links[Math.floor(Math.random() * links.length)]; 
    window.location = randomHref; 
} 

답변

2

내 문제는 내 같이 IndexOf이

하지 indexOf는 것은 당신이 그것을 호출하고 정의되지 말한다이다 에. gameLinksNodeList이고 href 속성은 없습니다. 개별 요소의 href 속성을 보려면 목록의 내용을 반복해야합니다. 예 :

+0

감사 그래 난 사람들을 위해'var'를 추가하는 것을 잊었다 :

var index, href, links, randomHref, gameLinks; gameLinks = document.getElementsByTagName("a"); // Loop through the links links = []; for (index = 0; index < gameLinks.length; ++index) { // Get this specific link's href href = gameLinks[index].href; if (href.indexOf("playgame") != -1) { links.push(href); } } randomHref = links[Math.floor(Math.random() * links.length)]; window.location = randomHref; 

추가 학습 변하기 쉬운 에스. 내 게시물을 업데이트했습니다. 귀하의 코드를 테스트하고 있지만 배열은 단어 undefined로 채워집니다. "playgame"문자열을 찾을 수 없다는 뜻입니까? –

+0

@ Mr.1.0 - T.J.의 코드에서'links.push (gameLinks.href);'는'links.push (href);'이어야합니다. 나는 T.J.의 코드를 수정했다. – jfriend00

+0

시간과 도움을 주셔서 감사합니다. 나는 그것을 매우 감사한다. –

관련 문제