[英]Value in variable is not updated in label tag
当我尝试将变量“ a”中的值更新为标签标签的类属性时,我的代码中出现了一个小问题。 谁能帮我吗。 这是我的代码
<html>
<head>
<style>
label.visible {visibility:visible}
label.hidden {visibility:hidden}
</style>
<script type="text/javascript">
var a;
function doset()
{
a="hidden";
alert(a);
return a;
}
</script>
</head>
<body>
<form>
<label class=visible>Hello</label>
<button onclick="doset()">v</button><br>
<label class=a>Hello1</label><br>
<label class=a>Hello2</label><br>
<label class=a>Hello3</label><br>
<label class=a>Hello4</label><br>
<label class=a>Hello5</label><br>
</form>
</body>
</html>
这是小提琴: http : //jsfiddle.net/M8CXN/
class=a
这不绑定的类名的JavaScript全局变量a
; 在不同的背景下它们是不同的东西。
如果要操作类,则必须通过DOM进行操作。 最简单的方法是使用容器。
<div id="myItems">
<label>Hello1</label><br>
<label>Hello2</label><br>
...
和
function doset() {
a="hidden";
document.getElementById("myItems").style.visibility = a;
alert(a);
}
用
<button onclick="doset(); return false;">v</button><br>
如果为所有相关标签提供相同的类:
<label class="myclass">Hello1</label><br>
<label class="myclass">Hello2</label><br>
<label class="myclass">Hello3</label><br>
然后,您可以定位这些对象并添加或删除所需的类:
$('.myclass').addClass('hidden');
$('.myclass').removeClass('hidden');
要不就:
$('.myclass').hide();
$('.myclass').show();
(使用jQuery )
<html>
<head>
<style>
label.visible {visibility:visible}
label.hidden {visibility:hidden}
</style>
<script type="text/javascript">
function setLabelsClass(){
var form = document.getElementsByTagName('form');
var labels = form[0].getElementsByTagName('label');
for(var i=0,len=labels.length;i<len;i++){
var lbl_class = labels[i].getAttribute('class');
if(lbl_class==="") labels[i].setAttribute('class','hidden');
}
}
</script>
</head>
<body>
<form>
<label class=visible>Hello</label>
<button onclick="setLabelsClass(); return false;">v</button><br>
<label>Hello1</label><br>
<label class="">Hello2</label><br>
<label class="">Hello3</label><br>
<label class="">Hello4</label><br>
<label class="">Hello5</label><br>
</form>
</body>
</html>
如果您不提供AJAX,那么毕竟不是一个好的方法,因为您的表单不再提交。 再次考虑,我觉得您可能不明白我在这里说的是什么,但是您会理解的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.