Php如何获取js节点,一个获取第n个元素节点的js函数

一个获取第n个元素节点的函数,现在只能通过html标签获取元素,功能还不完善

演示:html

  • 1a
  • 2bo

test

3c4d5e

js:

/**

*

* @param parent父节点

* @param ele要选取的元素标签

* @param num第几个元素

* @return {*}

*/

function nth(parent,ele,num){

var _ele=Array.prototype.slice.call(parent.childNodes),eleArray=[];

//将父节点的子节点转换成数组_ele;eleArray为只储存元素节点的数组

for(var i= 0,len=_ele.length;i

if(_ele[i].nodeType==1){

eleArray.push(_ele[i]);//过滤掉非元素节点

}

}

if(arguments.length===2){

//如果只传入2个参数,则如果第二个参数是数字,则选取父节点下的第几个元素

//如果第二个参数是字符串,则选取父节点下的所有参数代表的节点

if(typeof arguments[1]==="string"){

_ele=Array.prototype.slice.call(parent.getElementsByTagName(arguments[1]));

return _ele;

}else if(typeof arguments[1]==="number"){

return eleArray[arguments[1]];

}

}else{

//如果参数齐全,则返回第几个某节点,索引从0开始

_ele=Array.prototype.slice.call(parent.getElementsByTagName(ele));

return _ele[num];

}

}

/*

测试

*/

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

console.log(nth(list,"li",2).innerHTML);//选取第三个li元素

console.log(nth(list,"button",3).innerHTML)//选取第四个按钮

console.log(nth(nth(list,"li",1),"button",1).innerHTML);//选取第二个li下的第二个按钮

console.log(nth(nth(list,"li",1),"button"));//选取第二个li下的所有按钮

console.log(nth(list,2));//选取第二个元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值