点击事件忽略Jquery中的if / else

时间:2012-08-23 20:37:34

标签: javascript jquery

我认为这很简单:我只想让JS检测点击链接的子img是否具有某个src属性。如果是的话,做一件事。如果不是,请做另一件事。但由于某种原因,click事件完全忽略了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");
                    }
            });

1 个答案:

答案 0 :(得分:8)

请改用$(this).children('img[src="add.png"]').length$() 始终总是返回一个jQuery对象,无论是否匹配,因此它将始终在true中被评估为if