有没有更好的方法从jQuery.each()获取值?

时间:2016-12-18 01:00:52

标签: jquery kendo-ui

我想遍历我的所有kendoDatePicker元素。 我得到了它的工作,但它似乎非常难看。 有更好的方法吗?



    var aryNewCalendar = [];

    $(".g-datepicker").each(function () {
        var id = $(this)[0].id;
        if (id.substring(0,2) === "dp")
            {
            aryNewCalendar.push({
                Text: $(this)[0].value
            });
        }
    });
    return aryNewCalendar;




我正在使用' .g-datepicker'迭代所有元素。类,但似乎'包装'也确定了。

我不喜欢整个 $(this)[0] .id 方法,似乎"不稳定"。

1 个答案:

答案 0 :(得分:1)

$(this)[0].id;与执行this.id相同,只是您首先在this中包装$(),然后从结果jQuery对象中将其拉回。与$(this)[0].value

相同

只需this.idthis.value

没有理由它会变得不稳定,只是多余的

根本不清楚你的意思“包装器也被识别”

您也可以将其简化为:

var aryNewCalendar = $(".g-datepicker[id*=dp]").map(function(){
   return {
       Text: this.value           
   }
}).get()

这假设该类中的其他任何ID都不包含“dp”