1

我正在尝试将其中包含图像源的 DIV 添加到 HTML 中。在我尝试更改上面添加的 DIV 的属性之后。但我不能这样做。选中后,DIV 将显示在浏览器开发工具中。我得到的错误是“无法读取 null 的属性'样式'”。下面是我的代码。提前致谢。

ajaxLoaddiv='<div class="LoadingImage" alt="example" style="display: none"> <img src="css/ajax-loader.gif"></div>';
$(ajaxLoaddiv).appendTo(attachPoint);
document.getElementById("LoadingImage").style.display = 'block'; 

attachpoint 是我得到的 html 中的引用。

var attachpoint=document.querySelector('.buttonAttachPoint');
4

3 回答 3

2

你给了它class='LoadingImage',但没有id='LoadingImage',后来尝试用getElementById("LoadingImage"). 只需添加id属性。

ajaxLoaddiv='<div id="LoadingImage" class="LoadingImage" alt="example" style="display: none"> <img src="css/ajax-loader.gif"></div>';
//--------------^^^^^^^^^^^^^^^^^^^

但是如果你已经在使用 jQuery,那么你也可以在这里使用它。

$('#LoadingImage').css('display', 'block');

LoadingImage...因此,如果您愿意,可以更轻松地按类访问它(假设这是 class 的唯一元素):

$('.LoadingImage').css('display', 'block');
于 2013-03-29T01:14:58.767 回答
1

document.getElementById通过ID而不是类获取元素?

var ajaxLoaddiv = $('<div />', {'class': 'LoadingImage',
                                 alt   : 'example',
                                 style : 'display: none'
                                }),
    img = $('<img />', {src: 'css/ajax-loader.gif'});

ajaxLoaddiv.append(img).appendTo(attachPoint);
ajaxLoaddiv.show();
于 2013-03-29T01:15:06.230 回答
1

采用:

$("#LoadingImage").css({"display": "block"});

如果你想要一个 jQuery 解决方案:)

此外,您使用了类名而不是元素的 ID

于 2013-03-29T01:15:25.130 回答