Javascript 如何检测空div,然后插入带有JS或css的html按钮 列表项
我有一个由API提供的div页面 有时API不返回任何数据 因此,如果它没有返回任何数据,则检测空div并插入一个html按钮Javascript 如何检测空div,然后插入带有JS或css的html按钮 列表项,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个由API提供的div页面 有时API不返回任何数据 因此,如果它没有返回任何数据,则检测空div并插入一个html按钮 <div id="delivery_result"></div> <div class="empty-state"><button id='update_subscription' class="btn-fix-subscription">There seems to be a issue with y
<div id="delivery_result"></div>
<div class="empty-state"><button id='update_subscription' class="btn-fix-subscription">There seems to be a issue with your payment method Please Click Here To Fix</button></div>
<script>
if ($('#delivery_result').contents().length == 0) {
$(document).ready(function(){
$("div#delivery_result").append("<button id='update_subscription' class="btn-fix-subscription">There seems to be a issue with your payment method Please Click Here To Fix</button>});
}
</script>
我认为您的javascript部分应该如下所示:
$(document).ready(function () {
if ($.trim($('#delivery_result').html()) == '') {
$("div#delivery_result").append('<button id="update_subscription" class="btn - fix - subscription">There seems to be a issue with your payment method Please Click Here To Fix</button>');
}
});
我认为您的javascript部分应该如下所示:
$(document).ready(function () {
if ($.trim($('#delivery_result').html()) == '') {
$("div#delivery_result").append('<button id="update_subscription" class="btn - fix - subscription">There seems to be a issue with your payment method Please Click Here To Fix</button>');
}
});
你需要确保你使用引号的方式是一致的 代码被破坏的部分原因是由于没有正确转义引号 [EDIT]这样您就不需要在JavaScript中创建HTML,代码将从隐藏元素复制HTML,现在id为空的state元素
<div id="delivery_result"></div>
<div id="empty-state-element" class="empty-state" style="display:none;">
<button id="update_subscription" class="btn-fix-subscription">
There seems to be a issue with your payment method Please Click Here To Fix
</button>
</div>
<script>
$(document).ready(function(){
var myDiv = $('#delivery_result');
if (myDiv.is(':empty')) {
myDiv.append($('#empty-state-element').html());
}
});
</script>
你需要确保你使用引号的方式是一致的 代码被破坏的部分原因是由于没有正确转义引号 [EDIT]这样您就不需要在JavaScript中创建HTML,代码将从隐藏元素复制HTML,现在id为空的state元素
<div id="delivery_result"></div>
<div id="empty-state-element" class="empty-state" style="display:none;">
<button id="update_subscription" class="btn-fix-subscription">
There seems to be a issue with your payment method Please Click Here To Fix
</button>
</div>
<script>
$(document).ready(function(){
var myDiv = $('#delivery_result');
if (myDiv.is(':empty')) {
myDiv.append($('#empty-state-element').html());
}
});
</script>
以最简单的形式,像这样 功能添加按钮{ let button=`单击此处'; $div:空 .追加按钮; } 添加按钮; 我很满足 我很满足 我很满足
以最简单的形式,像这样 功能添加按钮{ let button=`单击此处'; $div:空 .追加按钮; } 添加按钮; 我很满足 我很满足 我很满足
if内部准备好的文档没有什么意义。api是什么?Ajax或后端在页面呈现时设置它。最好将逻辑放在获取数据的位置,然后简单地说,如果有数据,那么就显示它,否则就显示其他内容。如果在if中调用Ajax来准备文档,则没有什么意义。api是什么?Ajax或后端在页面呈现时进行设置。您最好将逻辑放在获取数据的位置,然后只需在有数据的情况下显示数据,else display Others ajax调用了充值api不确定是谁标记的不是我我在这里寻找解决方案我会尝试任何方法:此解决方案仍然显示按钮,即使api提供数据现在尝试我添加了$.trim和.html的组合,并且正在处理我的本地环境函数应该在成功回调上你的ajax电话,不在Ready上我刚刚对你的答案投了赞成票我不能忍受人们投票否决解释不确定谁否决了我不是来找解决方案的我会尝试一切:这个解决方案仍然显示按钮,即使api提供了数据现在试试我添加了$.trim和.html的组合,并且正在使用本地函数应该在ajax调用的成功回调上,而不是在Ready上。我刚刚对你的答案投了赞成票。我不能容忍人们用解释函数{let btn='Click Here'$'div:empty'。appendbtn}我如何将其仅限于ID为delivery\u schedule的div,因为它将其应用于所有空div您只需将“div:empty”替换为“delivery\u schedule:empty”,似乎在有数据和没有数据的情况下都要按下按钮嗯。。。你能在代码中创建并包含链接吗?我会帮你把它放到你想让它发挥作用的地方{let btn='点击这里'$'div:empty'。appendbtn}我如何将其仅限于ID为delivery\u schedule的div,因为它将其应用于所有空div您只需将“div:empty”替换为“delivery\u schedule:empty”,似乎在有数据和没有数据的情况下都要按下按钮嗯。。。你能在代码中创建并包含链接吗?我会帮你把它拿到你想要的地方