如何在jQuery子选择器中使用event.target?

时间:2014-06-04 10:21:43

标签: javascript jquery html

我想检查点击的div的子元素是否具有某个类。

所以我这样做:

$('.panel').on('click', function (event) { if($(".panel input").hasClass('h5_validator_error')) { event.stopPropagation(); } });

问题:我有一个.panel课程。由于我的整个网站都是由用户和json文件生成的,因此我需要一个没有 ID 的动态环境。

所以,实际上我的if语句阻止了所有.panel次点击工作。

我想做这样的事情:

if($(event.target + ".panel input").hasClass('h5_validator_error')) { event.stopPropagation(); }
  

所以我想选择所有输入 - 来自点击的div的元素   有一个数组并循环通过它。

这可能吗?或者,选择被点击子元素的子元素的最有效方法是什么?

2 个答案:

答案 0 :(得分:1)

您应该使用this来获取目标元素:

$(this).find("input").hasClass('h5_validator_error');

$('input',this).hasClass('h5_validator_error');

答案 1 :(得分:0)

您应该创建dom对象$(event.target),然后对其应用jquery方法。

试试这个:

$('.panel').on('click', function (event) {
    if($(event.target).find('input').hasClass('h5_validator_error')){
      alert('true');
    }
    else{
      alert('false');
    }
});

Working Example