javascript - 选择 HTML 元素 Jquery 之后的下一个 span 元素

标签 javascript jquery

我试图在选定的 HTML 元素之后选择下一个具有类名 slider-valuespan 元素。我尝试了多种解决方案,但没有一个有效。

我可以通过 id 选择它,但我不希望那样做使代码冗余。

$('.slider').change(function() {
  var slider = this;
  var output = $(this).closest('div').find('.slider-value').first();
  output.innerHTML = slider.value;
  slider.oninput = function() {
    output.innerHTML = this.value;
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-md-3">
  <span class="slider-text">Total Monthly Income</span>
  <input type="range" min="1" max="100" value="50" class="slider" id="salary">
  <span class="slider-value"></span>
</div>

最佳答案

output 是一个 jQuery 对象,没有 innerHTML 属性。要更新元素的内容,请改用 text()html() 也可以,但在这里不是必需的,因为您只用字符串值更新它。

在下面的示例中,请注意我在变量名称上使用了 $ 前缀来表示它们包含一个 jQuery 对象。我还使用了 input 事件而不是 change 以便立即更新值。

$('.slider').on('input', function() {
  var $slider = $(this);
  var $output = $slider.closest('div').find('.slider-value').first();
  $output.text($slider.val());
}).trigger('input');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-md-3">
  <span class="slider-text">Total Monthly Income</span>
  <input type="range" min="1" max="100" value="50" class="slider" id="salary">
  <span class="slider-value"></span>
</div>

关于javascript - 选择 HTML 元素 Jquery 之后的下一个 span 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59246172/

相关文章:

javascript - 如何在 JavaScript 中终止或取消异步调用?

javascript - 需要从父div中找出子div

javascript - 设置鼠标位置值的最小/最大值

javascript - 在将数据附加到#div 时,如何防止在 javascript 中重复输入

javascript - 如何操作 JSON 对象以删除 Javascript 中的根键?

javascript - 我怎样才能 'namespace'我的原型(prototype)

php - 无法删除动态添加的 div(由旧 div 触发的事件)

javascript - 检测异步调用完成,然后触发另一个函数?

javascript - ui-sref - 没有 <a> 标签的新标签

javascript - JavaScript 中调整窗口大小时的 Hide() 和 show()