jQuery的DOM操作
2017-09-08 本文已影响0人
李奔
用了一下this,浏览器就被我写崩了。。
$("ul").click(function(){
//console.log(this);
$(this).clone(true).appendTo("ul");
})
上面复制的是一个ul元素,然后多克隆几遍,子子孙孙无穷尽也。崩。
当然如下所写,可以针对被点击的<li>进行克隆
$("ul li").click(function(){
//console.log(this);
$(this).clone(true).appendTo("ul");
})
实现登陆框的忘记密码;
用JS实现上述点击复制功能
1.实现$('ul li')
的选择器功能。人家得到的是极其类似数组的Object{},我得到了可怜的HTMLCollection.对此无法使用childNoes,有个item()方法也无啥用。毕竟
var ele1 = document.getElementsByTagName('ul')[1];
var ele2 = document.getElementsByTagName('ul').item(1);
console.log(ele1 == ele2) //true
那么,继续,document.getElementsByTagName('ul')[0].childNodes
返回了一个包含空白文本(运行在firefox)节点和<li>元素节点的NodeList.
无论是HTMLCollection,NodeList(好吧,它俩其实也是数组),还是将其遍历push到空数组,一旦绑定click事件,都显示:
TypeError: XXX.addEventListener is not a function
可见事件要绑定在对象上,那么怎样将数组转换为对象?
$('ul li')
获取的是一个Object{},里面的节点还被自动从零开始编号了。怎样生成自动编号的Object?