尝试在程序中发生成功事件时显示p元素。但是我只能让p元素出现,但不能让文本显示在元素中,这我要去哪里错了?
$('.success-msg').show().append('<strong>Success:</strong> Your review has been created');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="success-msg"></p>
以上代码仅将p元素显示为空,如何显示文本?
答案 0 :(得分:0)
使用此
$('.success-msg').html('<strong>Success:</strong> Your review has been created').show();
答案 1 :(得分:0)
使用$ .when()语句解决返回的Promise
var show=function(){
return $('.success-msg').show();
}
$.when(show()).done(function(){
$('.success-msg').append('<strong>Success:</strong> Your review has been created');
});
另一种解决方法是
$('.success-msg').show(function(){
$(this).append('<strong>Success:</strong> Your review has been created')
});
另一种解决方法是
$('.success-msg').html('<strong>Success:</strong> Your review has been created').show();
您的主要错误是您将脚本标记放在首位,因此在加载函数时该类没有p,因此您必须将脚本标记放在正文末尾或将代码封装在$(文档)。ready()
答案 2 :(得分:0)
您的代码是正确的,因此我不建议新的方法。
但是,请将您的代码包装在document.ready
中。 p
元素可能始终可见,而显示不是因为您的代码。以下代码完整且可测试,没有任何更改:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="success-msg"></p>
<script>
$(function() {
$('.success-msg').show().append/*or .html(..) or .append($("<strong ..."))*/('<strong>Success:</strong> Your review has been created');
});
</script>
检查您包装的代码online