我正在尝试在页面中搜索包含单词playgame的链接。如果他们找到了,那么我将它们添加到数组中。之后,从数组中选择一个随机值并使用window.location
。我的问题是它说我的indexof
未定义。我不确定这是什么意思,因为我仍在学习使用javascript的这个功能。
链接示例
<a href="playgame.aspx?gid=22693&tag=ddab47a0b9ba5cb4"><img src="http://games.mochiads.com/c/g/running-lion-2/_thumb_100x100.jpg"></a>
的javascript
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;
}
答案 0 :(得分:2)
我的问题是它说我的indexof未定义
不是indexOf
,你正在调用它。 gameLinks
是NodeList
,它没有href
属性。您需要循环遍历列表的内容以查看单个元素的href
属性。 E.g:
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;
更多探索: