Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery,如何在特定的keydown上克隆节点并删除其他特定keydown上的克隆,但不删除父节点_Jquery - Fatal编程技术网

Jquery,如何在特定的keydown上克隆节点并删除其他特定keydown上的克隆,但不删除父节点

Jquery,如何在特定的keydown上克隆节点并删除其他特定keydown上的克隆,但不删除父节点,jquery,Jquery,我尝试克隆节点并使用某些键删除克隆(一个用于克隆,另一个用于删除)。这是可行的,但它也可以删除父节点,这是我不想要的。那么,如何只删除子节点呢 <!doctype html> <html> <head> <style> input.in { display: block; } </style> </head> <body> <input type="number" id=

我尝试克隆节点并使用某些键删除克隆(一个用于克隆,另一个用于删除)。这是可行的,但它也可以删除父节点,这是我不想要的。那么,如何只删除子节点呢

<!doctype html>
<html>

<head>
<style>
    input.in {
        display: block;
    }
</style>
</head>

<body>
<input type="number" id="in" class="in">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
    $(document).keydown(function(x) {
        if (x.which === 40) {
            var clone = $('#in').clone();
            $('#in').after(clone);
        }
        if (x.which === 38) {
            $('#in').remove(clone);
        }
    });
</script>
</body>

</html>

input.in{
显示:块;
}
$(文档).keydown(函数(x){
如果(x.which==40){
var clone=$('#in').clone();
$('#in')。在(克隆)之后;
}
如果(x.which==38){
$('#in')。删除(克隆);
}
});

只需添加一个条件来检查它是否是最后一次输入。尝试以下方法:

<script>
    $(document).keydown(function(x) {
        if (x.which === 40) {
            var clone = $('#in').clone();
            $('#in').after(clone);
        }
        if (x.which === 38) {
            if ($('.in').length > 1) {
                $('#in').remove(clone);
            }
        }
    });
</script>

$(文档).keydown(函数(x){
如果(x.which==40){
var clone=$('#in').clone();
$('#in')。在(克隆)之后;
}
如果(x.which==38){
如果($('.in')。长度>1){
$('#in')。删除(克隆);
}
}
});

注意
:尝试更改逻辑,因为克隆节点时,
id
在每个节点上都是相同的,这不是一个好做法。您应该避免对ID使用重复项,只需添加一个条件来检查它是否是最后一次输入。尝试以下方法:

<script>
    $(document).keydown(function(x) {
        if (x.which === 40) {
            var clone = $('#in').clone();
            $('#in').after(clone);
        }
        if (x.which === 38) {
            if ($('.in').length > 1) {
                $('#in').remove(clone);
            }
        }
    });
</script>

$(文档).keydown(函数(x){
如果(x.which==40){
var clone=$('#in').clone();
$('#in')。在(克隆)之后;
}
如果(x.which==38){
如果($('.in')。长度>1){
$('#in')。删除(克隆);
}
}
});

注意
:尝试更改逻辑,因为克隆节点时,
id
在每个节点上都是相同的,这不是一个好做法。您应该避免对ID使用重复项,40是“向下键”,38是“向上键”
您谈论的哪个父节点没有父代码?我是指第一个输入。顺便说一句,40是“向下键”,38是“向上键”
您谈论的哪个父节点没有父代码?我是指第一个输入。啊,,那么这个类对函数也是有用的吗?谢谢大家!@HudoyoDanumurti是的,只是尝试使用类而不是id.Aah,,那么确定类对函数也有用吗?谢谢大家!@HudoyoDanumurti是的,只是尝试使用class而不是id。