我正在尝试使用每个集合填充集合。我可以在一个字符串中获取元素,并且我可以在每次迭代时触发警报。我不能把两者放在一起。
这是我的清单:
4/27/2011 5:42:54 PM
4/27/2011 5:43:00 PM
4/27/2011 5:46:53下午
4/28/2011 2:10:40 PM
这是我的代码。
if (chosenTime > 0) {
var myDateClass = $('.exceptionDate')
var i = 0
$(myDateClass).each(function () {
var myDateClassVal = myDateClass[i].GetAttributeNode(outerText);
//this currently gives an error
//if I switch this to myDateClass.text();
// it returns the list in one string
i++
});
答案 0 :(得分:2)
$(this).text()
内的。 this
是每个项目中的单个项目。
答案 1 :(得分:0)
尝试使用地图功能:
var selected = $('.exceptionDate').map(function(i, e) {
return $(e).text();
});
alert(selected.length);
答案 2 :(得分:0)
我认为你对.each()
感到困惑。
您可能需要查看API:
$(myDateClass).each(function () {
var myDateClassVal = myDateClass[i].GetAttributeNode(outerText);
i++; // This is not needed.
});
因此,如果您将其定义为each(function(indx, elem) { })
,它将帮助您迭代每个元素elem
,或通过索引引用它。
答案 3 :(得分:0)
我并不完全明白您的意思,但如果您想要每个.exceptionDate
元素的文本内容数组,则可以.map()
使用.get()
。
var array = myDateClass.map(function () {
return $(this).text();
}).get();
或者以类似的方式,您可以使用jQuery.map()
:
var array = $.map(myDateClass,function (el) {
return $(el).text();
});