jQuery选择器用于排除具有特定类的父级

时间:2017-05-22 13:15:22

标签: jquery

我有以下查询来选择特定类型的所有inputselect元素,我需要对其进行扩展以排除其父级具有特定类别的所有项目:

$('input,select')
        .not('[type="checkbox"],[type="radio"],[type="button"],[type="submit"]')
        .not(':parent.no-field-hint') // <-- NEED TO FIX THIS
        .on('focus', function () {
        // do something
    });

如何修改相关行?

2 个答案:

答案 0 :(得分:1)

这里的逻辑对于选择器来说有点过于复杂,除了没有:parent选择器的事实。您可以使用filter()来实现您的需求:

$('input, select').not('[type="checkbox"], [type="radio"], [type="button"], [type="submit"]').filter(function() {
  return !$(this).parent().hasClass('no-field-hint');
}).on('focus', function () {
    // do something
});

答案 1 :(得分:1)

只需检查您的函数父类是什么: https://jsfiddle.net/gzvbd729/

async