jQuery addClass 和 removeClass onchange 问题

标签 jquery css onchange addclass removeclass

我试图让 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 .


还有其他问题,例如 addClassRemoveClass 中的 div 变量是全局。声明变量时不要忘记var。此外,函数的命名与 addRemove 不一致。

MDN JavaScript Guide对于学习 JavaScript 基础知识非常有用。

关于jQuery addClass 和 removeClass onchange 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7819447/

相关文章:

php - 使用 AJAX 和 PHP 的 MySQL 更新查询

jquery - JQGrid - 无法使用参数向网格添加行

javascript - 是否可以使用JavaScript检测未知的CSS属性或无效的CSS属性值

javascript - javascript中onchange事件什么时候触发

javascript - 使用 javascript 更改元素的类

javascript - 更改时增加和减少价格值

Jquery 选择 : size of select

jquery的replaceWith()和delay()到fadeOut()

jquery - 如何删除 anchor 的跳转?

JavaScript:获取以像素为单位的背景位置