我如何在Jquery中使用start

时间:2014-07-28 09:36:22

标签: jquery

我有一个HTMl,如下所示

<div id="ordersdiv">
   <div id="addtoordersdiv68">
   </div>

   <div id="addtoordersdiv67">
   </div>
</div>

我需要在数组

中获取以addtoordersdiv开头的所有数字

有人可以告诉我如何在jQuery中找到startswith

4 个答案:

答案 0 :(得分:1)

Start with selector

$('div[id^=addtoordersdiv]')

答案 1 :(得分:1)

我建议:

var numbers = $('#ordersdiv').children('[id^=addtoordersdiv]').map(function() {
   return this.id.replace('addtoordersdiv', '');
}).get();

答案 2 :(得分:0)

尝试以下

<script>
  $( div[id^='addtoordersdiv'] )./**Operations*/
  .
  .
  .
</script>

Reference

答案 3 :(得分:0)

尝试使用jQuery's .map() function的以下内容。

var arr = $("[id^=addtoordersdiv]").map(function() {
    var idStripped = $(this).attr("id").replace("addtoordersdiv", "")
    return parseInt(idStripped);
});
console.log("Your array is", arr);

最好将数字放在数据属性中,例如:

<div id="ordersdiv">
   <div class="addtoordersdiv" data-order-num="68">
   </div>

   <div class="addtoordersdiv" data-order-num="67">
   </div>
</div>

这样你就不会依赖于解析in来获取数字。此外,我建议使用驼峰套管或破折号使您的类/ ID更具可读性,例如add-to-orders并且不在课程名称中包含“div”。这样,如果你重构使用无序列表,你的类仍然有意义。 E.g:

<ul id="orders">
   <li class="order" data-order-num="68">
   </li>
   <li class="order" data-order-num="67">
   </li>
</ul>