javascript - jquery更新元素值除了隐藏div中的那些

标签 javascript jquery html

我有一组相同的输入字段,我用 val() 更新值。它们需要具有相同的值,这样就可以了。但是有些输入字段位于隐藏的 div 中,我不想更新这些字段的值,但我的代码会更新它们。

<form>
<input name="split_values[]" class="split">
<input name="split_values[]" class="split">
<input name="split_values[]" class="split">
<div class="hidden-div">
<input name="split_values[]" class="split">
</div>
</form>

在我的 Jquery 代码中:

$('.split').val(split_amount);

所以所有的值都得到相等的数量。但我不想填充隐藏的 div 中的输入字段。

感谢任何帮助。提前致谢!

最佳答案

这样就可以了:

$(".split:not(.hidden-div > .split)").val("your value");

此选择器将限定所有具有 split 类的元素,然后取消所有 hidden-div 的子元素和具有 split 类的元素>.

或者,如果 hidden-div 实际上不可见,那么您可以使用 jQuery 选择器根据元素的可见性进行过滤:

$(".split:visible").val("your value");

但请注意,如果页面上有许多 split 元素,此选择器的性能将不佳。 jQuery 必须检查多个元素属性以确定可见性。根据jQuery docs :

Elements can be considered hidden for several reasons:

  • They have a CSS display value of none.
  • They are form elements with type="hidden".
  • Their width and height are explicitly set to 0. An ancestor element is hidden, so the element is not shown on the page.

关于javascript - jquery更新元素值除了隐藏div中的那些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44574632/

相关文章:

javascript - 使用 Cheerio 抓取多个网页

javascript - TypeScript 中的箭头函数和继承

javascript - jquery保持模式对话框的滚动位置

javascript - 如何使用javascript识别哪个按钮发出了请求

jquery - 点击 next 显示下一个 div

javascript - 如何让多个div改变一个div的背景图片

javascript - jQuery:延迟替换 div 的 innerHTML?

html - Bootstrap 4 - 在 css 中通过根名称引用颜色

javascript - rails : gon is not defined error

javascript - 比较两个字符串javascript