2014-12-05 41 views
0

我有一個input,應該添加一個clicked類的另一個元素的ID爲#zip點擊。下面是代碼:如何添加一個類到一個元素,當我點擊與jquery不同的元素

$('#billing_zip').click(function() { 
 
    $('#zip').addClass('clicked'); 
 
});
#zip { 
 
    color: #444; 
 
    font-style: italic; 
 
    position: absolute; 
 
    top: 8px; 
 
    left: 35px 
 
} 
 
.clicked { 
 
    display: none; 
 
}
<div class="chkField"> 
 
     <label for="billing_zip">Zip</label> 
 
     <input type="text" onchange="clearContent(this);check_address('billing');" class="txtBoxStyle hasPlaceholder" tabindex="10" size="10" value="" id="billing_zip" maxlength="15" name="billing_zip"> 
 
     <!--START: req_billing_zip--> 
 
     <img width="12" height="12" alt="" src="assets/templates/common/images/error2.gif"> 
 
     <!--END: req_billing_zip--> 
 
     <div class="clear"></div> 
 
     <div id="zip">zip</div> 
 
     </div>

我不知道爲什麼上面的jQuery不工作。

+0

至於我可以看到你的代碼工作得精細。 「點擊」類正在得到應用。 http://jsfiddle.net/8L5qdeu7/ – 2014-12-05 04:30:46

+0

不要忘記把你的jQuery代碼包裝在'$(document).ready(function(){//你的jquery代碼//});' – 2014-12-05 04:31:27

+0

add id ='billing_zip '在標籤。您將billing_zip聲明爲自定義屬性(for)。但是你選擇它作爲id。 – zanhtet 2014-12-05 04:32:19

回答

0

退房這裏jsfiddle。如果需要使用document.ready。我發現的一個重點是,如果輸入框上的佔位符文本很長,則它覆蓋了整個輸入框區域,並且不允許觸發點擊事件。請參閱jsfiddle。

$('#billing_zip').click(function() { 
    $('#zip').addClass('clicked'); 
}); 

$('#zip').click(function() { 
    $('#zip').addClass('clicked'); 
}); 
0

您的代碼工作正常

這可能是2可能出現的問題:

  1. 你缺少添加jQuery的參考:

  2. 你應該換你的代碼裏面的document.ready事件:

    $(function(){ $('#billing_zip')。click(function(){ $('#zip')。addClass('clicked'); }); });

2

你忘了聲明billing_zip的id。

$(document).ready(function(){ 
 
$('#billing_zip').click(function() { 
 
    alert('hi'); 
 
    $('#zip').addClass('clicked'); 
 
}); 
 
});
#zip { 
 
    color: #444; 
 
    font-style: italic; 
 
    position: absolute; 
 
    top: 8px; 
 
    left: 35px 
 
} 
 
.clicked { 
 
    display: none; 
 
}
<div class="chkField"> 
 
     <label id="billing_zip" for="billing_zip">Zip</label> 
 
     <input type="text" onchange="clearContent(this);check_address('billing');" class="txtBoxStyle hasPlaceholder" tabindex="10" size="10" value="" id="billing_zip" maxlength="15" name="billing_zip"> 
 
     <!--START: req_billing_zip--> 
 
     <img width="12" height="12" alt="" src="assets/templates/common/images/error2.gif"> 
 
     <!--END: req_billing_zip--> 
 
     <div class="clear"></div> 
 
     <div id="zip">zip</div> 
 
     </div>

0

如果這只是你想要的。然後你就可以直接做,如:

$('#billing_zip').click(function() { 
    $('#zip').css("display","none"); // or you can use hide or fadeout property. 
}); 
0

當我包你的jQuery代碼在「$(文件)。就緒」它的工作:

$(document).ready(function(){ 
    $('#billing_zip').click(function() { 
    $('#zip').addClass('clicked'); 
}); 
}); 
相關問題