作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<li>
的位置(输入值)和 <div>
(删除按钮)只有在提交第一个输入后才是正确的。在彼此提交时,这些元素越来越紧密地结合在一起,这不是期望的行为。我希望每个输入都看起来像第一个。
这是 Pen .
HTML:
<div class="list-container">
<ul class="list">
</ul>
</div>
CSS:
ul {
text-align: center;
list-style: none;
font-family: 'Noto Sans', sans-serif;
}
li {
float: left;
padding-top: 8px;
padding-bottom: 8px;
}
.btnDel {
float: right;
font-family: 'Raleway';
width: 70px;
height: 20px;
border-radius: 15px;
border: 1px solid #F64747;
background-color: white;
padding-top: 3px;
padding-bottom: 1px;
color: #F64747;
cursor: pointer;
}
jQuery:
$('input[name=listItem]').enterKey(function(){
var toAdd = $('input[name=listItem]').val();
$('.list').append('<li class="item">' + toAdd + '</li>', '<div class="btnDel">Delete</div>', '<br>')
最佳答案
实际上您添加了错误的结构。您不应将任何其他元素用作 ul 的直接子元素。
我已经更新了您的代码,这里是新代码并且运行良好。
这里有一些 JS 修改
// Form submit & Form clear function for Enter key press
$('input[name=listItem]').enterKey(function(){
var toAdd = $('input[name=listItem]').val();
$('.list').append('<li class="item"><p>' + toAdd + '</p><div class="btnDel">Delete</div></li>')
$('input[name=listItem]').closest('form').find("input[type=text]").val("")
})
// Form submit & Form clear function for button press
$('#btnAdd').click(function(){
var toAdd = $('input[name=listItem]').val();
$('.list').append('<li class="item"><p>' + toAdd + '</p><div class="btnDel">Delete</div></li>')
$('input[name=listItem]').closest('form').find("input[type=text]").val("")
})
和一些 CSS 修改
li{
clear:both;
padding-top: 8px;
padding-bottom: 8px;
cursor: pointer;
}
li>p{
float:left;
}
li>div{
float:right;
}
关于jQuery 在每次输入提交时将列表项更紧密地附加在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44603068/
我是一名优秀的程序员,十分优秀!