gpt4 book ai didi

c# - 无法动态地将 HTML 元素附加到 div

转载 作者:行者123 更新时间:2023-11-28 02:04:18 24 4
gpt4 key购买 nike

我正在尝试动态地将 html 元素添加到 div,但我根本无法这样做。我替换了var s='<a href='+hrf+'><img src='+hrf+'alt="Tulips"></a>';var s = '<button>click</button>';只是为了检查我附加的字符串是否有问题,但仍然没有运气。

头部脚本

   <script type="text/javascript">

window.onload = GetRecords();

function GetRecords() {
$.ajax({
type: "POST",
url: "Gallery.aspx/insertimg",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
},
error: function (response) {
alert(response.d);
}
});
}

function OnSuccess(response) {

var xmlDoc = $.parseXML(response.d);
var xml = $(xmlDoc);
var count = parseInt(xml.find("imgtable").length);
var imageTable = xml.find("imgtable");

for (var i = 0; i < count; i++) {
var hrf = imageTable.find("ImageUrl").eq(i).text();
var s='<a href='+hrf+'><img src='+hrf+'alt="Tulips"></a>';
$('.html5gallery').append(s);

}
}

</script>

正文

<body>
<div style="display:none; flex-align:center" class="html5gallery" data-skin="horizontal" data-width="480" data-height="272">
</div>
</body>

XML

<NewDataSet>
<imgtable>
<PhotoId>4</PhotoId>
<Name>Photo4</Name>
<ImageUrl>photoalbum/DSCN5798.jpg</ImageUrl>
<AlbumId>2</AlbumId>
<Date>2013-04-03T17:03:02+05:30</Date>
</imgtable>
<imgtable>
<PhotoId>5</PhotoId>
<Name>Photo5</Name>
<ImageUrl>photoalbum/DSCN5799.jpg</ImageUrl>
<AlbumId>2</AlbumId>
<Date>2013-04-03T17:03:13+05:30</Date>
</imgtable>
<imgtable>
<PhotoId>6</PhotoId>
<Name>Photo6</Name>
<ImageUrl>photoalbum/DSCN5800.jpg</ImageUrl>
<AlbumId>2</AlbumId>
<Date>2013-04-03T17:03:13+05:30</Date>
</imgtable>
</NewDataSet>

呈现的 HTML

<body>
<form method="post" action="gallery.aspx?albumid=2" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="5WcBQJLHmIC4X/c0os4kFsh4tUCcOP93YgL5uIChec+tPgpqBaWkU5jZaSmvwM4MMGjdK8G9LD+/HV8GvINckwe5HGGXFcY7BgEpkFo0CEM=" />
</div>
<div style="display:none; flex-align:center" class="html5gallery" data-skin="horizontal" data-width="480" data-height="272"></div>
</form>
</body>

最佳答案

您在 window.onload = GetRecords(); 中遇到问题 - 应该是 window.onload = GetRecords;

此外,在 ajax 请求中,您说响应是 json,但在成功回调中,它被处理为 XML

但是在 jQuery 中你也可以使用 dom Ready 来实现相同的目的

jQuery(GetRecords)

当您使用 window.onload = GetRecords(); 时,执行 GetRecords 并且返回的值被分配为 onload 处理程序,该处理程序不是所需要的。需要的是在窗口加载后调用 GetRecords,因为您需要使用 window.onload = GetRecords; 将函数引用传递给 window.onload

尝试

jQuery(GetRecords)

function GetRecords() {
$.ajax({
type : "POST",
url : "Gallery.aspx/insertimg",
contentType : "application/json; charset=utf-8",
dataType : "xml",
success : OnSuccess,
failure : function(response) {
alert(response.d);
},
error : function(response) {
alert(response.d);
}
});
}

function OnSuccess(response) {

var xmlDoc = $.parseXML(response.d);
var xml = $(xmlDoc);
var count = parseInt(xml.find("imgtable").length);
var imageTable = xml.find("imgtable");

for (var i = 0; i < count; i++) {
var hrf = imageTable.find("ImageUrl").eq(i).text();
var s = '<a href=' + hrf + '><img src=' + hrf + 'alt="Tulips"></a>';
$('.html5gallery').append(s);

}
}

关于c# - 无法动态地将 HTML 元素附加到 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17991193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com