jquery addClass() 不适用于 event.target

标签 jquery events target addclass

请帮忙。

为什么 jquery addClass() 不能与 event.target 一起使用? 我编写了一个代码,它应该在单击时在目标上添加类,但它不起作用,并且它说,e.target.addClass 不是一个函数。

http://jsfiddle.net/Lq9G4/

代码:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Class Test</title>
    <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
    <style>
        .big {
            font-size: 5em;
        }
        .small {
            font-size: 1em;
        }
    </style>

</head>
<body>
    <p>This is the text</p>
    <script>
        $(function() {
            $("p").click(function(e) {  
                      $("a").removeClass("big").addClass("small");
                      $("this").addClass("big"); //This doesn't work
                      e.target.addClass("big"); //nor this one                
                    });
        });

    </script>
</body>
</html>

最佳答案

基本上,e.target 将是一个 javascript 对象,您必须先将其转换为 Jquery 对象,然后才能使用它的函数,例如 .addClass()

尝试,

$(e.target).addClass("big"); 

同时,$("this").addClass("big"); 此代码将不起作用,因为您将 this 作为字符串传递。 this 也是一个 javascript 对象,您也需要将其转换为 jquery 对象,如 $(this)

关于jquery addClass() 不适用于 event.target,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23211129/

相关文章:

web-applications - 在 64 位 : missing targets file 上从命令行使用 MSBuild 构建 Web 应用程序项目

javascript - jQuery的slideDown()和slideUp()的替代方案不影响显示属性

jQuery 空函数和 html 函数

c# - 对某些 KeyPress 序列使用 Reactive Extension?

java - 方法initLoader问题

c# - 如何使用内部构造函数模拟事件

jquery - 如何关闭jquery模式对话框并刷新父页面

jquery - RequireJS - 具有多个 jQuery 版本的 jQuery 插件

jquery - 如果目标不为空,则删除 img 链接

html - 输入按钮目标 ="_blank"不会导致链接在新窗口/选项卡中加载