Jquery中选择器的简写

时间:2017-07-11 13:17:20

标签: jquery

有没有办法避免重复"选择器"在Jquery。 我需要使用"这个" JavaScript中的关键字,我不想申报 另一个变量,因为在这种情况下,如果我有很长的话,我必须申报很多 码。 例如:

if ($(obj).parent().find(".ValidationErrors").length && 
    $(obj).parent().find(".ValidationErrors").text().indexOf("Max") < 0) {
  return false; 
}

1 个答案:

答案 0 :(得分:5)

鉴于您的代码示例,除了创建变量以保存对.ValidateErrors元素的引用之外,没有其他替代方法。但是,您可以缩短return以仅包括条件的结果。试试这个:

var $errors = $(obj).parent().find(".ValidationErrors")
return !($errors.length && $errors.text().indexOf("Max") < 0);

实际上length检查是多余的,因为jQuery将从text()返回一个字符串,即使该元素不存在,因此逻辑可以进一步缩短为:

return $(obj).parent().find(".ValidationErrors").text().indexOf("Max") != -1;