gpt4 book ai didi

javascript - 寻找同级的多重选择器

转载 作者:行者123 更新时间:2023-11-28 15:19:46 25 4
gpt4 key购买 nike

我正在尝试使用多个选择器寻找最近的同级..但是当我只想要最近的跨度时,我不断地让每个项目调整计数。

在这里 fiddle :http://jsfiddle.net/70o9u96s/1/

$("#SchedulingComment, #DiagramComment, #InspNotes, #PreInspHoursNotes, #ActualInspNotes, #HoursNotes").keyup(function(){

var activeItem = $(this).attr('id');

var count = $("#" + activeItem).text().length;
var adjust = 255 - count;
var placeCount = $("#" + activeItem).parent().find("span span");
var colorCount = $("#" + activeItem).parent().find("span");

placeCount.text(adjust);

if (adjust < 0){
colorCount.css("color","red");
} else {
colorCount.css("color","black");
}

});

最佳答案

您遇到了几个错误,从没有正确引用使用 this 单击的元素,到没有正确获取层次结构。

$("#SchedulingComment, #DiagramComment, #InspNotes, #PreInspHoursNotes, #ActualInspNotes, #HoursNotes").keyup(function () {
var count = $(this).val().length;
var adjust = 255 - count;
var placeCount = $(this).prevAll('label:first').find("span span");
var colorCount = $(this).prevAll('label:first').find("span");
placeCount.text(adjust);
if (adjust < 0) {
colorCount.css("color", "red");
} else {
colorCount.css("color", "black");
}
});

<强> jsFiddle example

  • var activeItem = $(this).attr('id'); 是不必要的,因为 $(this) 是引用正在键入的文本区域的方式
  • 对于文本区域,您需要的是值,而不是文本,因此请使用 .val() 而不是 .text()
  • 根据您的代码,文本区域的父级将是正文,因此您想要的是使用 .prevAll('label:first') 选择上一个标签元素

关于javascript - 寻找同级的多重选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32016575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com