原生JS获取页面所有元素并统计每个元素的个数

原生JS获取页面所有元素并统计每个元素的个数,第1张

let el = documentgetElementsByTagName('');

//获取页面所有的元素

consolelog(el);

let elObj = {};

for(var i=0; i

if(!elObj[el[i]tagNametoLowerCase()] ){

elObj[el[i]tagNametoLowerCase()] =1;

}else{

elObj[el[i]tagNametoLowerCase()] ++;

}

}

//每个元素的个数

consolelog(elObj)

// 数组 arr 维度 a, b

str = "<table>";

for(i=0;i<a,i++)

{

str += "<tr>";

for(j=0;j<b;j++)

{

str +="<td>"+arr[i][j]+"</td>";

}

str += "</tr>";

}

str += "</table>";

documentwriteln(str);

可以利用Math对象的random方法。它将返回一个0到1之间的浮点类型数。但仅仅这个还不够,必须还要有一定的算法才可以实现一定范围取值。

Mathfloor(Mathrandom()x)    //返回0到x-1的随机整数

Mathfloor(Mathrandom()x+y)    //返回0+y到x-1+y的随机整数

其中floor方法是用来取浮点类型的整数部分。

顺便说一下,JS很难控制抽奖抽中的概率,毕竟还没有这种算法。我有一个建议,就是将同事能抽的数字范围增大,孩子能抽的数字范围减小。比如中奖号码为96,则同事可写:

Mathfloor(Mathrandom()100+50)    //取50到149

孩子可这样写:

Mathfloor(Mathrandom()70+70)     //取70到139

测试结果如图(这个结果是10次抽到号码需要的次数的平均值,结果四舍五入):

这样孩子的抽中概率比同事的抽中概率要大了。

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>zhidao</title>

</head>

<body>

<p><input type="checkbox" value="1" checked><span>1</span></p>

<p><input type="checkbox" value="2"><span>2</span></p>

<p><input type="checkbox" value="3"><span>3</span></p>

共计:<span id="all"></span>

<script type="text/javascript">

var allinput=documentgetElementsByTagName('input');

var all=documentgetElementById("all");

function getNextElement(node){

if(nodenextSiblingnodeType == 1){ //判断下一个节点类型为1则是“元素”节点

return nodenextSibling;

}

if(nodenextSiblingnodeType == 3){ //判断下一个节点类型为3则是“文本”节点 ,回调自身函数

return getNextElement(nodenextSibling);

}

return null;

}

for(var i=0;i<allinputlength;i++)

{

if(allinput[i]checked)

{

consolelog(allinput[i]);

allinnerHTML+=allinput[i]value;

}

allinput[i]onclick=function()

{

var _this=this;

if(_thischecked==true)

{

consolelog(_this);

allinnerHTML =parseInt(allinnerHTML,10)+parseInt(getNextElement(_this)innerHTML,10);

}

else

{

consolelog(_this);

allinnerHTML =parseInt(allinnerHTML,10)-parseInt(getNextElement(_this)innerHTML,10);

}

}

}

</script>

</body>

</html>

获取下一个span的innerHTML来判断转化,把里面的值转化为十进制整数,再相加

以上就是关于原生JS获取页面所有元素并统计每个元素的个数全部的内容,包括:原生JS获取页面所有元素并统计每个元素的个数、使用JavaScript语言定义一个二维数组,并把数组元素显示到表格中、js数组随机抽取显示,怎么控制指定元素显示的概率等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10186787.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存