我似乎无法完成这项工作,我尝试了许多不同的组合。我想要做的就是从.each()迭代器返回的文本中获取第4和第5个字符,然后再将其写入数组。
var timeItems = [];
$("div[class*='field-name-field-time-']").each(function (i, e) {
$(this).text().slice(3,5);
timeItems.push($(e));
});
有什么想法吗?
谢谢!
答案 0 :(得分:1)
试试这个
.slice()
text
也应该有效。检查下面的JSFiddle并取消注释使用slice的行来试用它。
还有什么回到阵列?我假设您指的是对象,但如果您想要返回字符,则应将timeItems
推送到$(e)
而不是IF
。
答案 1 :(得分:0)
var timeItems = [];
$("div[class*='field-name-field-time-']").each(function (i, e) {
var text = $(e).text().slice(3,5);
timeItems.push(text);
});
each
参数中的第二个参数而不是this
。经常提出这样的问题,“如果这是元素,为什么第二个DOM元素参数传递给回调?” 无论是有意还是无意,执行上下文都可能发生变化。当一直使用关键字this时,很容易让我们自己或其他阅读代码的开发人员感到困惑。
https://learn.jquery.com/using-jquery-core/iterating/#the-second-argument