javascript - 如何使用jquery获取大于给定值的元素的数据属性值?

标签 javascript jquery html attributes custom-data-attribute

我有几个文本框和用于分期付款号码的数据属性

<input type="text" id="54" data-instno="12"/>
<input type="text" id="124" data-instno="13"/>
<input type="text" id="88" data-instno="14"/>
<input type="text" id="126" data-instno="15"/>
<input type="text" id="102" data-instno="16"/>
<input type="text" id="8" data-instno="17"/>
<input type="text" id="87" data-instno="18"/>
<input type="text" id="112" data-instno="19"/>

如果我的分期付款数量是 15。我想要获得具有 data-instno>=15 的控件。在本例中这意味着最后 5 个文本框。

最佳答案

使用 jQuery Has Attribute Selector [name]选择目标元素并使用 .filter()过滤元素的 data-instno 大于 15。

$("[data-instno]").filter(function(){
  return $(this).attr("data-instno") >= 15;
}).doSomething();

$("[data-instno]").filter(function(){
  return $(this).attr("data-instno") >= 15;
}).css("background", "red");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="54" data-instno="12"/>
<input type="text" id="124" data-instno="13"/>
<input type="text" id="88" data-instno="14"/>
<input type="text" id="126" data-instno="15"/>
<input type="text" id="102" data-instno="16"/>
<input type="text" id="8" data-instno="17"/>
<input type="text" id="87" data-instno="18"/>
<input type="text" id="112" data-instno="19"/>

如果您想获取data-instno的值,请使用此

var arr = $("[data-instno]").map(function(){
  return $(this).attr("data-instno");
}).get().filter(function(value){
  return value >= 15;
});

var arr = $("[data-instno]").map(function(){
  return $(this).attr("data-instno");
}).get().filter(function(value){
  return value >= 15;
});

console.log(arr);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="54" data-instno="12"/>
<input type="text" id="124" data-instno="13"/>
<input type="text" id="88" data-instno="14"/>
<input type="text" id="126" data-instno="15"/>
<input type="text" id="102" data-instno="16"/>
<input type="text" id="8" data-instno="17"/>
<input type="text" id="87" data-instno="18"/>
<input type="text" id="112" data-instno="19"/>

关于javascript - 如何使用jquery获取大于给定值的元素的数据属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42787037/

相关文章:

javascript - 如何等待所有 Promise 在 ExpressJS 中解决?

javascript - timeago.js timeago 函数内联

javascript - 显示与动态创建的缩略图关联的正确图片

javascript - McMaster-Carr 的 'scrolling box' 布局

javascript - 我可以打开一个新窗口并用字符串变量填充它吗?

javascript - 为什么在更改文本字段时未立即启用提交按钮?

java - 服务器端 - 进度条

javascript - 用箭头和点作为头填充 svg 路径

javascript - 需要一种方法来复制缩短的超长字符串

javascript - 使用 "doMock"以避免提升时开 Jest 不模拟模块