有没有办法避免重复"选择器"在Jquery。 我需要使用"这个" JavaScript中的关键字,我不想申报 另一个变量,因为在这种情况下,如果我有很长的话,我必须申报很多 码。 例如:
if ($(obj).parent().find(".ValidationErrors").length &&
$(obj).parent().find(".ValidationErrors").text().indexOf("Max") < 0) {
return false;
}
答案 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;