0
我通过div循环查找一系列div上的单个“活动”类。然后我想从该div中获取数据属性。我得到的数据属性很好,但似乎无法通过return
将它传递出该函数。它记录undefined
。ES6函数返回`undefined`而不是预期的字符串?
const getPostcardLink =() => {
console.log('getPostcardLink()...');
$('.postcard').each(function() {
if ($(this).hasClass('active')) {
const postcard = $(this).data('postcard');
console.log(postcard);
return postcard;
}
return 'error';
});
};
const getStampLink =() => {
console.log('getStampLink()...');
$('.stamp').each(function() {
if ($(this).hasClass('active')) {
const stamp = $(this).data('stamp');
console.log(stamp);
return stamp;
}
return 'error';
});
};
function updatePostcard() {
const postcard = `images/_${getPostcardLink()}.jpg`;
const stamp = `images/_${getStampLink()}.jpg`;
console.log(`${postcard} with ${stamp}`);
}
$(document).ready(() => {
updatePostcard();
});
数收益...
getPostcardLink()...
p1
getStampLink()...
s1
images/_undefined.jpg with images/_undefined.jpg
'getStampLink'不返回任何东西 - 目前根本没有'return'声明那里。 – zerkms
'return stamp;'从'.each'回调中返回,而不是'getStampLink'。其他功能类似。 'return'不会跨越函数边界,它只会从它所包含的函数中返回。 –
如何处理返回的“error”的情况?使用'.filter()'替换'.each()',检查'.filter()'的返回值是否具有大于'0'的'.length'。 – guest271314