jQuery .removeClass被忽略了

时间:2017-03-17 18:24:32

标签: jquery

所以我需要在按钮点击时隐藏弹出窗口。当我从任何其他触发器触发.removeClass时,一切正常,但是一旦我在我的btn.click函数中添加.removeClass行,它就会被忽略。

closePopupBtn.click(function() {
    url = commentInput.val();
    if (url.length > 1) {
        var imgType = commentImgURL.slice(-4),
            availableTypes = ['.jpg', '.png', 'jpeg'];

        if (availableTypes.indexOf(imgType) > -1) {
            $popUp.removeClass('image-add-enabled');
            commentInput.val("");
            $container.append(commentImgHTML);
        };
     } else {
         $container.addClass('error');
     };
});

所以

  

$ popUp.removeClass( '使能图像-附加');

是这里的问题。 .removeClass行之后的代码执行正常
这是我正在使用的代码我需要在上面的函数中删除

showPopupBtn.click(function() {
    $popUp.addClass('image-add-enabled');
});

如果有人可以解释原因

那将是非常好的
  

$ popUp.removeClass( '使能图像-附加');

被忽略

2 个答案:

答案 0 :(得分:1)

因为$ popUp& $ container以错误的方式写入

如果<div>id <div id="popUp"></div>的话$('#popUp').addClass('image-add-enabled'); 所以jQuery的选择器必须是那样的 <div>

但如果class<div class="popUp"></div> $('.popUp').addClass('image-add-enabled');,那么{{1}} 所以jQuery的选择器必须是那样的 {{1}}

您可以查看jQuery reference以了解有关选择器的详细信息 - Select by id reference
- Select by class reference

答案 1 :(得分:0)

问题已关闭
Popup嵌套在我正用作showPopup按钮的容器中,所以基本上它被删除并在一次点击时添加了类。