有人可以帮我解决这个问题吗? 我想隐藏那些没有任何文字的输入。但事情发生了。我不知道自己做错了什么。
Teste1: <input type="text" value="conteudo1" id="btn1" >
Teste2: <input type="text" id="btn2" >
Teste3: <input type="text" id="btn3" >
Teste4: <input type="text" value="conteudo4" id="btn4" >
Teste5: <input type="text" value="conteudo5" id="btn5" >
Teste6: <input type="text" id="btn6" >
</body>
</html>
<script>
$(document).ready(function() {
teste();
});
function teste(){
for (i = 1 ; i < 7 ; i++) {
if(('#btn'+i).val == 0){
$('#btn'+i).show();
else{
$('#btn'+i).hide();
}
}
}
}
</script>
答案 0 :(得分:1)
您在代码中犯了一些错误。你的其他{}在你的{}中。此外,在if语句中,调用元素时缺少$。
function teste(){
for (i = 1 ; i < 7 ; i++) {
if($('#btn'+i).val == 0){
$('#btn'+i).show();
}else{
$('#btn'+i).hide();
}
}
}
答案 1 :(得分:0)
您的代码中存在多个问题
('#btn'+i)
返回一个字符串,该字符串没有val
属性,因此条件永远不会成立,您需要使用$('#btn'+i).val()
您可以为所有元素添加公共类,以便更容易地选择它们。
然后你需要包装标签并输入另一个元素,以便两者都可以隐藏
$(document).ready(function() {
teste();
});
function teste() {
$('input.btn').filter(function() {
return !!this.value;
}).parent().hide();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span>Teste1: <input type="text" class="btn" value="conteudo1" id="btn1"></span>
<span>Teste2: <input type="text" class="btn" id="btn2"></span>
<span>Teste3: <input type="text" class="btn" id="btn3"></span>
<span>Teste4: <input type="text" class="btn" value="conteudo4" id="btn4"></span>
<span>Teste5: <input type="text" class="btn" value="conteudo5" id="btn5"></span>
<span>Teste6: <input type="text" class="btn" id="btn6"></span>