我试图让 jQuery 的 addClass 和 removeClass 在表单选择环境中工作,但收效甚微。
我想修改父div的类,并试图在函数中传递ID,但我所有的尝试都是徒劳的。任何指导和帮助将不胜感激。
<div id="MaxAge" class="SearchFormStyle">
<select name="maxage" onchange="addClass(MaxAge);">
<option value="0">Age</option>
<option value="1" >1 Year Old</option>
<option value="2" >2 Years Old</option>
</select>
<span class="ThisValue">
<a href="#" onclick="RemoveClass(MaxAge)">VALUE ENTERED HERE</a>
</span>
</div>
<script>
function addClass (id) {
div = "#" + id;
$(div).addClass("InputSet");
}
function RemoveClass (id) {
div = "#" + id;
$(div).removeClass("InputSet");
}
</script>
最佳答案
addClass(MaxAge)
会将变量的值 MaxAge
传递给 addClass
,而不是字符串 'MaxAge'
。
此外,您确实应该使用 jQuery 来绑定(bind)事件处理程序而不是内联事件处理程序:
$("select[name='maxage']").change(function() {
addClass('MaxAge');
});
$('.ThisValue a').click(function(event) {
RemoveClass('MaxAge');
event.preventDefault();
});
要了解有关事件处理程序的更多信息,我建议阅读 articles at quirksmode.org .
还有其他问题,例如 addClass
和 RemoveClass
中的 div
变量是全局。声明变量时不要忘记var
。此外,函数的命名与 add
与 Remove
不一致。
MDN JavaScript Guide对于学习 JavaScript 基础知识非常有用。
关于jQuery addClass 和 removeClass onchange 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7819447/