我有一个动态的清单。如何随机选择仅3个项目(不超过2个单词),并将其转换为可点击的链接。因此,每次重新加载页面时,都会随机创建3个链接。我期望使用类似的东西:
innerHTML = '<a href="mysite.com/folder/' + url + text.toLowerCase().replace(/\bamp\b|[^A-Z0-9]+/ig, "-") + '">' + text + '</a>'
由此:
清单1 清单2222 清单3 清单4 清单5555 列出.. 清单99 清单100
对此:
- 清单1
- 列出2222(*忽略3个或更多的单词)
- 清单3(*随机选择并指向mysite.com/folder/list-3)
- 清单4(*随机选择并指向mysite.com/folder/list-3)
- 列出5 55(*忽略3个或更多单词)
- 列出..
- 列表99(*随机选择并指向mysite.com/folder/list-99)
- 清单100
页面加载后,循环3次,每次随机捕获一次li
并刷新一次,直到满足少于三个单词且尚未使用的条件。每次找到li
有效的时,请更改innerHTML
。
window.addEventListener('load', (event) => {
for (var i = 0; i < 3; i++) {
var randomLI;
while (!randomLI || randomLI.getElementsByTagName("a").length > 0 || randomLI.innerHTML.trim().split(" ").length > 2) {
randomLI = rando(document.getElementsByTagName("li")).value;
}
randomLI.innerHTML = "<a href=\"mysite.com/folder/" + randomLI.innerHTML.toLowerCase().replace(/\bamp\b|[^A-Z0-9]+/ig, "-") + "\">" + randomLI.innerHTML + "</a>";
}
});
<script src="https://randojs.com/1.0.0.js"></script>
<ul>
<li>list 1</li>
<li>list 2 222</li>
<li>list 3</li>
<li>list 4</li>
<li>list 5 555</li>
<li>list ..</li>
<li>list 99</li>
<li>list 100</li>
</ul>
我使用randojs.com简化了随机性并使其更具可读性。如果要使用此代码,请确保此代码位于html文档的head标签中:
<script src="https://randojs.com/1.0.0.js"></script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句