div是动态创建的,但图像不会追加

时间:2019-11-13 22:59:40

标签: javascript jquery html

我正在创建一个div框,该框应保存用户上传(预览)的图像。 但是会创建div,但是图像不会附加到该div。该ID已分配给div,但以某种方式我无法通过ID定位DIV。  我已经看过stackoverflow,但是没有真正找到与此问题有关的任何信息

代码:

function readURL(input) {

    if (input.files && input.files[0]) {

        $('#imagePreview').slideUp();

        for (var i = 0; i < input.files.length; i++) {

            let reader = new FileReader();

            let card = document.createElement('div');
            card.setAttribute('class', 'card col-md-4');

            let header = document.createElement('div');
            header.setAttribute('class', 'card-header');

            let body = document.createElement('div');
            body.setAttribute('class', 'card-body');
            body.setAttribute('id', i);

            $('#imgUploadBody').append($(card).append(header, body));

            let img = new Image();

            reader.onload = function(e) {
                img.src = e.target.result;
                $('#'+i).append(img);
            }

            reader.readAsDataURL(input.files[i]);
        }
      }
    }

我尝试使用不同的选择器,尝试将图像直接插入主体(直接附加到主体中),后者确实起作用,但是图像并不关心其父级大小。图像没有边界,并且具有自己的宽度和高度,而不是尊重父级div的宽度和高度。

所以我要寻找的是:图像应附加到div(正文)中,以使图像尊重父级div的高度和宽度。 它可以以任何方式或形状完成。我不必使用ID作为选择器。如果您有一个想法涉及选择div元素的另一种方式,请把它扔在那里

1 个答案:

答案 0 :(得分:1)

  

在CSS中,标识符(包括元素名称,类和ID)   选择器)只能包含字符[a-zA-Z0-9]和ISO 10646   字符U + 00A0及更高版本,加上连字符(-)和下划线   (_);他们不能以数字,两个连字符或后面的连字符开头   用一个数字

不是让#0变成#card0