2

我认为这很简单:我想要的只是让 JS 检测点击链接的子 img 是否具有某个 src 属性。如果是,做一件事。如果没有,请执行其他操作。但由于某种原因,点击事件完全忽略了 if/else 条件。.children()如果选择器和事件仍然会像条件为真一样执行,我可以放任何我想要的废话。我不太了解Jquery,所以我很茫然。任何帮助,将不胜感激。

$('.addcomp').click(function(){
                if($(this).children('img[src="add.png"]')){
                    $(this).parents("tr").find('.compcost').addClass('cost').end().find('td:last-child,td:nth-child(3)').addClass('addcompbg');
                    $(this).children("img").attr("src","forbidden.png");
                }
                else if ($(this).children('img[src="forbidden.png"]'))
                {$(this).parents("tr").find('.compcost').removeClass('cost').end().find('td:last-child,td:nth-child(3)').removeClass('addcompbg');
                    $(this).children("img").attr("src","add.png");
                    }
            });
4

1 回答 1

8

改为使用$(this).children('img[src="add.png"]').length$()始终返回一个 jQuery 对象,无论是否匹配,因此它将始终像trueif.

于 2012-08-23T20:38:39.927 回答