javascript - 将 div 放在 input 的右下角
问题描述
我需要在创建时将警报 div 位置放在每个输入的右上角。
这是创建警报的函数
function createAlert(inputName,errorNumber){
var lang = getUrlParameter('lang');
var alertText = {
error0: {
pt: "Erro",
en: "Error",
},
error2: {
pt: "O nome de usuário já está em uso",
en: "The Username already is being used",
},
error3: {
pt: "O endereço eletrónico já está em uso",
en: "The Email already is being used",
},
error4: {
pt: "O endereço eletrónico é inválido",
en: "The Email inserted is invalid",
},
error5: {
pt: "A password não coincide",
en: "The passwords doesn't match",
}
}
var alert ="<div class='alert' id='error"+errorNumber+"'><span class='alertCloseBtn' onclick='this.parentElement.style.display=\"none\";'>×</span>"+alertText["error"+errorNumber][lang]+"</div>";
if(typeof $('#error'+errorNumber)[0] == 'undefined'){
$('input[name='+inputName+']').after(alert);
}else{
$('#error'+errorNumber).remove();
$('input[name='+inputName+']').after(alert);
}
}
解决方案
这是一个 javascript 解决方案,它会比 css 更好地工作。
阅读评论以了解
var alert = $("<div class='alert'><span class='alertCloseBtn' onclick='this.parentElement.style.display=\"none\";'>×</span>this is error</div>");
var inputName= "sd"
$('input[name='+inputName+']').after(alert);
// here is to position the alert dynamicly. this is better then css where css dose not work sometimes and get a wrong positions
var rect = $('input[name='+inputName+']')[0].getBoundingClientRect(); // input position
// now position the alert box under the input
alert.css({"left": rect.left, top:rect.height + rect.top , position:"absolute", "min-width": rect.width});
.alert
{
min-height:100px;
border:1px solid red;
}
div{
margin:auto;
width:200px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<input type="text" name="sd" value="" />
<div>
推荐阅读
- javascript - React - renderToString 如何将样式应用于字符串
- android - 如何从 Firebase 存储加载 PDF/图像
- binary-search - 无论如何,二进制搜索是否适用于物理数字本身?不包括 0
- python - 如何阻止 matplotlib.pyplot 在 Python 3.8.6 中更改我的 cmap ListedColormap 的顺序?
- javascript - 异步函数识别函数已完成,但实际上它还有更多工作要做
- html - 垂直汉堡侧导航栏在屏幕右侧创建一个空白区域。仅在手机版中显示
- reactjs - 如何更改 url 而无需在反应路由器 dom 5 中添加另一级路径
- firebase - 在 null 上调用了方法“toRawHandle”,但我没有使用 FirebaseMessaging
- c - AZURE 云集成
- python - 条形图上的matplotlib datetime x轴重叠问题