想实现js每次点击,不断增加一个节点,节点的文本节点的数字比上一个节点的文本节点的数字增加一,但是怎么出现增加为NAN,已经用parseInt将字符串转换为数字了。可能语言描述不清晰,具体的的代码:Document*{margin:0;padding:0;}1234varoBtn=document.getElementsByTagName("input")[0];oBtn.onclick=append;functionappend(){varoUl=document.getElementsByTagName("ul")[0];varcRlitextnode=parseInt(oUl.lastChild.textNode);cRlitextnode++;console.log(cRlitextnode);varli=document.createElement("li");vartextNode=document.createTextNode(cRlitextnode);oUl.appendChild(li);li.appendChild(textNode);}希望大家能够帮忙解答,谢谢|
2 回答
皈依舞
TA贡献1851条经验 获得超3个赞
//1.`Node.textNode`没有这个方法吧???你要获取节点里面的值还是老老实实用`innerHTML`吧~//2.假设上面你改好了,然后下面这样的格式写html,用`oUl.lastChild`获取到的....是一个回车符号233,parseInt('')=NaN。。~惊不惊喜,意不意外~1 2 3 4 那么你可以写成这样://html1 2 3 4 //最后一个不换行//jsvarcRlitextnode=oUl.lastChild.innerHTML;不改html的话——————或者这样varcRlitextnode=oUl.lastElementChild.innerHTML;//注意firstElementChild的兼容性再或者兼容更好的varcRlitextnode=oUl.children[oUl.children.length-1].innerHTML;
www说
TA贡献1775条经验 获得超8个赞
varoBtn=document.getElementsByTagName("input")[0];oBtn.onclick=append;functionappend(){varoUl=document.getElementsByTagName("ul")[0];varcRlitextnode=parseInt(oUl.lastElementChild.innerText);cRlitextnode++;console.log(cRlitextnode);varli=document.createElement("li");vartextNode=document.createTextNode(cRlitextnode);oUl.appendChild(li);li.appendChild(textNode);}
添加回答
举报
0/150
提交
取消