首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将load()输出附加到jQuery中的同一个div

将load()输出附加到jQuery中的同一个div
EN

Stack Overflow用户
提问于 2020-09-08 14:15:40
回答 2查看 700关注 0票数 2

一个按钮调用一个JS函数,该函数使用jQuery加载异步加载一个不同的errorReturn页面,并将结果放到一个errorReturn div中。

代码语言:javascript
运行
复制
<div id='errorReturn'></div>
<button onclick='trySomething()'>Click me</button>

<script>
function trySomething() {
  var url = 'otherpage.php'
  $('#errorReturn').load(url)
}
</script>

一切都很好。

由于我希望用户看到所有的错误,如果该按钮被多次单击,我希望将结果附加到相同的div中。

我都试过了

代码语言:javascript
运行
复制
$('#errorReturn').append.load(url)
$('#errorReturn').append(load(url))

但他们没有工作。然后我找到了解决办法:

代码语言:javascript
运行
复制
$('#errorReturn').append($('#errorReturn').load(url))

它起作用了。有点像:(它填充了errorReturn div,但它没有附加到其中。它只是简单地覆盖它,就好像我只是简单地写了

代码语言:javascript
运行
复制
$('#errorReturn').load(url)

我也许该休息一下,但我看不出是怎么回事

编辑:由于有人将此标记为“在另一个问题中回答”,另一个问题是在我明确请求jQuery时使用JS,另外另一个答案在添加可能的XSS注入时引起了很大的麻烦,我认为这里被接受的答案更好,更容易理解。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-08 14:18:41

load()总是覆盖目标元素的内容。为了满足您的需要,您可以发出AJAX请求并手动添加内容。试试这个:

代码语言:javascript
运行
复制
<div id="errorReturn"></div>
<button id="add-content">Click me</button>
代码语言:javascript
运行
复制
jQuery($ => {
  $('#add-content').on('click', e => {
    $.ajax({
       url: 'otherpage.php',
       success: html => $('#errorReturn').append(html)
    });
  });
});
票数 2
EN

Stack Overflow用户

发布于 2020-09-08 14:17:31

创建一个新的<div>.load()内容,并对其进行.append()

代码语言:javascript
运行
复制
$("#errorReturn").append($("<div/>").load(url));

当然,您也可以在<div>中添加样式等,例如,将单个错误分隔开的顶部空白。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63795825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档