簡體   English   中英

標簽變量中的值未更新

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM