使用纯javascript将纯li文本随机转换为可点击链接

使用纯javascript将纯li文本随机转换为可点击链接,javascript,Javascript,我有一个动态列表。如何选择只有3个项目,有2个字或更少的随机,并将其转换为可点击的链接。因此,每次重新加载页面时,都会随机创建3个链接。我希望使用类似于: innerHTML= 由此: 列表1列表2 222列表3列表4 列表555列表。。列表99列表100 为此: 列表1列表2 222*忽略3个或更多单词列表3*随机选择并指向mysite.com/folder/list-3列表4*随机选择并指向mysite.com/folder/list-3 列表5 55*忽略3个或更多单词列表。。列表99*随

我有一个动态列表。如何选择只有3个项目,有2个字或更少的随机,并将其转换为可点击的链接。因此,每次重新加载页面时,都会随机创建3个链接。我希望使用类似于:

innerHTML=

由此:

列表1列表2 222列表3列表4 列表555列表。。列表99列表100 为此:

列表1列表2 222*忽略3个或更多单词列表3*随机选择并指向mysite.com/folder/list-3列表4*随机选择并指向mysite.com/folder/list-3 列表5 55*忽略3个或更多单词列表。。列表99*随机选择并指向mysite.com/folder/list-99列表100
一旦页面加载完毕,循环三次,每次抓取一个随机li并刷新该抓取,直到它满足少于三个单词且尚未使用的标准。每次找到有效的li时,请更改innerHTML

window.addEventListener'load',事件=>{ 对于变量i=0;i<3;i++{ var randomLI; while!randomLI | | randomLI.getElementsByTagNamea.length>0 | | randomLI.innerHTML.trim.split.length>2{ randomLI=randodocument.getElementsByTagNameli.value; } randomLI.innerHTML=; } }; 清单1 名单222 清单3 清单4 名单555 列表 清单99 名单100
一旦页面加载完毕,循环三次,每次抓取一个随机li并刷新该抓取,直到它满足少于三个单词且尚未使用的标准。每次找到有效的li时,请更改innerHTML

window.addEventListener'load',事件=>{ 对于变量i=0;i<3;i++{ var randomLI; while!randomLI | | randomLI.getElementsByTagNamea.length>0 | | randomLI.innerHTML.trim.split.length>2{ randomLI=randodocument.getElementsByTagNameli.value; } randomLI.innerHTML=; } }; 清单1 名单222 清单3 清单4 名单555 列表 清单99 名单100
您可以稍微整理一下代码,但下面可以让您开始

请在上尝试现场演示

清单1 名单222 清单3 清单4 名单555 列表 清单99 名单100 刷新 //将DOM元素存储在变量中 const ul=document.querySelector'.listItems'; const listItems=Array.fromdocument.querySelectorAll.listItems li'; //检查是否存在三个带有链接的项目,否则再次运行逻辑 函数updateListlist,pickCount{ 如果pickCount==3{ ul.innerHTML=列表。加入“”; }否则{ 随机化; } } 函数随机化{ 让pickCount=0; //迭代列表数组以转换项 const newList=listItems.mapitem=>{ //选择包含链接的项目的50%几率 常量isPicked=Math.random>.5?真:假; //检查项目是否包含两个或多个单词 如果item.innerHTML.split“”。长度>2{ //如果包含两个以上的单词,请跳过。 返回item.outerHTML; }否则,如果我被选中{ //如果包含两个或更少的单词,并且通过了随机选取,则转换该项 pickCount+=1; 返回``; }否则{ //否则,跳过。 返回item.outerHTML; } }; 返回updateListnewList、pickCount; } document.querySelector'button.refresh'。addEventListener'click',随机化;
您可以稍微整理一下代码,但下面可以让您开始

请在上尝试现场演示

清单1 名单222 清单3 清单4 名单555 列表 清单99 名单100 刷新 //将DOM元素存储在变量中 const ul=document.querySelector'.listItems'; const listItems=Array.fromdocument.querySelectorAll.listItems li'; //检查是否存在三个带有链接的项目,否则再次运行逻辑 函数updateListlist,pickCount{ 如果pickCount==3{ ul.innerHTML=列表。加入“”; }否则{ 随机化; } } 函数随机化{ 让pickCount=0; //迭代列表数组以转换项 const newList=listItems.mapitem=>{ //选择包含链接的项目的50%几率 常量isPicked=Math.random>.5?真:假; //检查项目是否包含两个或多个单词 如果item.innerHTML.split“”。长度>2{ //如果包含两个以上的单词,请跳过。 返回item.outerHTML; }否则,如果我被选中{ //如果包含两个或更少的单词,并且通过了随机选取,则转换该项 pickCount+=1; 返回``; }否则{ //否则,跳过。 返回item.outerHTML; } }; 返回updateListnewList、pickCount; } document.querySelector'button.refresh'。addEventListener'click',随机化;
你试过什么?构建动态列表的代码在哪里?显示列表的html至少在哪里?很难帮助你,因为你真的没有给我们任何合作的机会。你尝试了什么?构建动态列表的代码在哪里?显示列表的html至少在哪里?很难帮助你,因为你是真实的 李没有给我们任何合作的机会。