所以我的div的ID如id=1_due_dateid=2_due_date

<div class="form-group">
      <input type="text" class="form-control" id="1_due_date" name="1_due_date" placeholder="YYYY-MM-DD">
</div>

<div class="form-group">
      <input type="text" class="form-control" id="2_due_date" name="2_due_date" placeholder="YYYY-MM-DD">
</div>


以同样的方式,将有许多div,其前面的数字会像10_due_date一样变化。如何使用jquery选择所有这些div。
我正在尝试使用类似$('[id^="[1-9]"][id$="_due_date"]')这样的正则表达式,但没有得到理想的结果。任何建议都将对您有所帮助。

最佳答案

您应该看看jQuery中的Selectors。快速浏览一下不同的选择器,您可以将它们用于各种操作-


$('input [id * =“ due_date”]')-选择具有id属性且其值包含due_date子字符串的所有元素,例如123_due_date_456due_date_11xyz_due_date等。
$('input [id $ =“ due_date”]')-选择具有id的值完全以due_date结尾的元素,例如1_due_dateXYZdue_date等。比较区分大小写。
$('input [id ^ =“ due_date”]')-选择具有id属性且其值以due_date开头的元素,例如due_date_1due_date123等。


对于您的情况,由于要检查id是否以后缀due_date结尾,因此应使用$('input[id$="due_date"]'),如下所示:



$('input[id$="due_date"]').val("Match found");

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
  <input type="text" class="form-control" id="1_due_date" name="1_due_date" placeholder="YYYY-MM-DD" />
</div>

<div class="form-group">
  <input type="text" class="form-control" id="2_due_date" name="2_due_date" placeholder="YYYY-MM-DD">
  <div class="form-group" />
  <input type="text" class="form-control" id="qwe" name="2_due_date" placeholder="YYYY-MM-DD" />
</div>

10-04 15:27
查看更多