首页 新闻 会员 周边

想实现js每点击一次增加一节点,节点的文本节点数字增加一,却出现了NAN,怎么回事?

0
悬赏园豆:40 [已解决问题] 解决于 2018-05-23 10:23

想实现js每次点击,不断增加一个节点,节点的文本节点的数字比上一个节点的文本节点的数字增加一,但是怎么出现增加为NAN,已经用parseInt将字符串转换为数字了。可能语言描述不清晰,具体的的代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
 <style>
    *{
        margin: 0;
        padding: 0;
    } 
</style>
</head>
<body>
<ul class="oUl">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
</ul>
<input class="oBtn" type="button" value="按钮">
</body>
<script>
var oBtn = document.getElementsByTagName("input")[0];
    oBtn.onclick = append;
    function append(){
        var oUl = document.getElementsByTagName("ul")[0];
        var cRlitextnode = parseInt(oUl.lastChild.textNode);
        cRlitextnode++;
        console.log(cRlitextnode);
        var li = document.createElement("li"); 
        var textNode = document.createTextNode(cRlitextnode);
       
        oUl.appendChild(li);
        li.appendChild(textNode);
    }
</script>
</html>

 

希望大家能够帮忙解答,谢谢|

花语剑情的主页 花语剑情 | 初学一级 | 园豆:5
提问于:2018-05-18 10:03
< >
分享
最佳答案
0

<body>
<ul class="oUl"><li>1</li><li>2</li><li>3</li><li>4</li></ul>
<input class="oBtn" type="button" value="按钮">
</body>
<script>
var oBtn = document.getElementsByTagName("input")[0];
oBtn.onclick = append;
function append() {
var oUl = document.getElementsByTagName("ul")[0];

var cRlitextnode = parseInt(oUl.lastChild.innerText);
cRlitextnode++;
console.log(cRlitextnode);
var li = document.createElement("li");
var textNode = document.createTextNode(cRlitextnode);

oUl.appendChild(li);
li.appendChild(textNode);
}
</script>

 

 

li要写成一行的,空白节点也是节点,以上是测试通过的代码

收获园豆:10
jingxunch | 菜鸟二级 |园豆:221 | 2018-05-22 17:22
其他回答(5)
0
function append(){
        var oUl = document.getElementsByTagName("ul")[0];
console.log(oUl);
console.log(oUl.lastChild);

你这样试试看就知道了。

收获园豆:5
爱编程的大叔 | 园豆:30839 (高人七级) | 2018-05-18 10:13
0
<ul class="oUl">
    <li><span>1</span><i class='a'>+</i><i class='b'>-</i></li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
</ul>

$(".oUi").on("click","i.a",function(){

$(this).parent().after($(this).parent().clone());

//需要把序号全部重新设置

});

用Jquery来实现

收获园豆:5
happydaily | 园豆:301 (菜鸟二级) | 2018-05-18 10:13
0

var uiItems=document.getElementsByTagName("ul")[0].getElementsByTagName('li')

var lastLi=uiItems[uiItems.length-1]

var cRlitextnode=parseInt(lastLi.innerHTML)

收获园豆:5
czd890 | 园豆:14412 (专家六级) | 2018-05-18 10:20
0

oUl.lastElementChild.textContent

 

li 为Element 

内容为 textNode "4"

收获园豆:10
JimJiang | 园豆:314 (菜鸟二级) | 2018-05-18 10:46
0

建议多了解一下Element Node的区别

收获园豆:5
、熙和 | 园豆:1508 (小虾三级) | 2018-05-18 15:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册