js 二维数组

js二维数组

我们经常会用到二维数组,但是javaScript没有二维数组,那么我们应该咋办呢?就是在一维数组里面在创建一个一维数组。

var arr = new Array(10);
for (var i = 0; i < arr.length; i++) {
  arr[i]=new Array(8);
//不一定写for循环赋值,还可以直接赋值,在数量有限的情况下
  for (var j = 0; j < 8; j ++) {
    a[i][j]=i+j;
  }

谨慎使用childNodes

childNodes是获取一个节点下的所有子节点,当我想获取的只是li节点的时候,我以为数组长度应该是7的时候,没想到数组的长度是15;不仅包括li元素还

 <ul id="source">
    <li>北京空气质量:<b>90</b></li>
    <li>上海空气质量:<b>70</b></li>
    <li>天津空气质量:<b>80</b></li>
    <li>广州空气质量:<b>50</b></li>
    <li>深圳空气质量:<b>40</b></li>
    <li>福州空气质量:<b>32</b></li>
    <li>成都空气质量:<b>90</b></li>
  </ul>
<script>
var sourceList=document.getElementById("source").childNodes;
  console.log(sourceList);
</script>

如何提取子元素和文本节点的值

提取上述 <li>北京空气质量:<b>90</b></li>,提取出里面的“北京空气质量”,“90”并放入二维数组中

function getData() {
  var data=new Array(7);
 var source=document.getElementById("source");
 var cites=source.getElementsByTagName("li");
  var bList=document.getElementsByTagName("b");
 for (var i = 0; i < cites.length; i++) {
       data[i]=new Array(2); 
       data[i][0]=cites[i].innerHTML.substring(0,cites[i].innerHTML.indexOf("<b>"));  
       data[i][1]=bList[i].innerHTML;
      
 }

//首先是获取所有的li元素

var source=document.getElementById("source");

var cities=source.getElementsByTagName("li");

//获取里面的文本

for(var i=0;i<cities.length;i++)

{

cites[i].innerHTML.substring(0,cites[i].innerHTML.indexOf("<b>"));//获取到文本

//innerHTML获得的值是:北京空气质量:<b>90</b>

通过indexOf找到特殊字符,返回特殊字符的位置,这样substring才能返回正确的子字符串

}

//获取<b>里面的数字

var bList=document.getElementsByTagName("b");

for(var i=0;i<cites.length;i++)

{

bList[i].innerHTML//获取到li元素里面b元素的内容

}

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值