JavaScript - 为孩子添加跨度?

时间:2016-04-27 16:45:55

标签: javascript jquery

所以我得到了一个代码,它应该添加span,如果它不存在于子节点上,但目前它只添加一个而不是其他人,因为“代码”看到它已经存在。怎么做,如果有新的div,那么它也会增加?

    if($("#itemcart div").children().length > 0){

    } else{
        $("#itemcart div").append($("<span> X</span>"));
    }

3 个答案:

答案 0 :(得分:1)

您需要一个正确的Selector

var spanLength = $("#itemcart div span").length;
if(spanLength > 0){
   $("#itemcart div").append($("<span> "+(spanLength+1)+"</span>"));
} else{
    $("#itemcart div").append($("<span> 1</span>"));
}

答案 1 :(得分:0)

不知道我是否理解,无论如何,假设你有多个div而你想检查每个div是否有子跨度,你可以这样做:

$("#itemcart div").each(function(){
    if( $(this).children().length > 0){

    } else{
        $(this).append($("<span> X</span>"));
    }
});

这将迭代每个div。在此循环中,您可以使用 this 来引用当前的 div ,并检查它是否有孩子 span

请参阅此处的示例:https://jsfiddle.net/3qkpLnd9/1/

答案 2 :(得分:0)

检查此代码。只需使用选择器进行编辑即可使用:

$('p.click').on('click', function () {

   var newDiv = document.createElement('div'), 
   span = document.createElement('span');

   span.innerText = 'X';

   newDiv.appendChild(span);

    $('.container').append($(newDiv));
});

和真正的小提琴:

https://jsfiddle.net/nx1fuffc/