在下一个兄弟中找到给定 class 的最近跨度元素

Find closest span element with given class within next sibling

我有一个textarea元素如下:

<textarea class="additional contactNameInput" id="additional1" name="additional1" placeholder="Additional requests..."></textarea>

然后在我HTML之后直接如下:

<div>
  <p>Intro</p>
  <p>Additional text: <span class="addedText"></span></p>
<div>

我希望使用 textarea 中添加的文本来完成跨度。但是,因为我重复了很多这些,所以我需要使用 siblings / parents / children 来定位这些。我写了以下内容:

$(".additional1").keyup(function() {
  $(this).siblings('div:first').nextAll('.addedText').html($("#additional1").val());
});

但这不起作用。当我删除 .nextAll('addedText') 时它确实有效,但显然会替换整个 div。如何使用 class addedText.

定位此 span 元素

此外,我还需要替换 #additional1',以便为该文档的每个元素选择正在使用的特定 textarea 的内容。

我已经尝试了几个小时的不同组合,但我似乎无法正确选择选择器。

只需要进行一些小调整:

$(".additional").keyup(function() {
  $(this).next('div').find('.addedText').html($(this).val());
});

为了

<textarea class="additional contactNameInput" id="additional1" ....
  • 将选择器更改为 class .additional
  • 使用.next("div")得到下一个div
  • 使用 .find(".addedText") 查找 div
  • 的子项目
  • 使用 $(this).val() 从活动中获取文本 textarea