我正在尝试创建一个选择器,它可以获得所有未出现验证错误的图像的输入元素。
HTML:
<input id="target" type="submit" value="0" />
<input id="target1" type="submit" value="1" />
<input type="text" data-val="true" />
<input type="text" data-val="true" />
<input type="text" data-val="true" />
<input type="text" data-val="true" />
<input type="text" data-val="true" />
迭代的Jquery(有效):
$("#target").click(function () {
var errorTooltipIconURL = "xxx";
$(document).find('[data-val="true"]').each(function () {
if ($(this).next('.validation-error-tooltip-icon').length == 0) {
$('<img src="' + errorTooltipIconURL + '" class="validation-error-tooltip-icon" style="visibility: hidden" />').insertAfter(this);
}
});
});
我试过的Jquery选择器(在最后一个之后没有插入,因为它在最后一次输入后没有另一个元素):
$("#target1").click(function () {
var errorTooltipIconURL = "xxx";
$(document).find('[data-val="true"]+:not(.validation-error-tooltip-icon)').each(function () {
$('<img src="' + errorTooltipIconURL + '" class="validation-error-tooltip-icon" style="visibility: hidden" />').insertBefore(this);
});
});
这是一个小提琴:http://jsfiddle.net/TQMvh/1/
答案 0 :(得分:2)
+
选择器需要选择器两侧之间有空格。此外,您不需要$(document).find
,您可以这样做:
$('[data-val="true"] + :not(.validation-error-tooltip-icon)')