我需要从一个页面收集大量的数据,但是在这样做的时候,我觉得这样做所需要的代码可以被浓缩和简化。
我可以更多地压缩这段代码吗?或者这是它所能得到的压缩吗?
$.get('/blog.html', function(data){
// Post Titles
$(data).find(".blog-post:nth-of-type(1) .blog-title").appendTo(".ticker-1");
$(data).find(".blog-post:nth-of-type(2) .blog-title").appendTo(".ticker-2");
$(data).find(".blog-post:nth-of-type(3) .blog-title").appendTo(".ticker-3");
$(data).find(".blog-post:nth-of-type(4) .blog-title").appendTo(".ticker-4");
$(data).find(".blog-post:nth-of-type(5) .blog-title").appendTo(".ticker-5");
$(data).find(".blog-post:nth-of-type(6) .blog-title").appendTo(".ticker-6");
$(data).find(".blog-post:nth-of-type(7) .blog-title").appendTo(".ticker-7");
// Post Images
$(data).find(".blog-post:nth-of-type(1) img").appendTo(".ticker-image-1");
$(data).find(".blog-post:nth-of-type(2) img").appendTo(".ticker-image-2");
$(data).find(".blog-post:nth-of-type(3) img").appendTo(".ticker-image-3");
$(data).find(".blog-post:nth-of-type(4) img").appendTo(".ticker-image-4");
$(data).find(".blog-post:nth-of-type(5) img").appendTo(".ticker-image-5");
//Post Dates
$(data).find(".blog-post:nth-of-type(1) .date").appendTo(".ticker-date-1");
$(data).find(".blog-post:nth-of-type(2) .date").appendTo(".ticker-date-2");
$(data).find(".blog-post:nth-of-type(3) .date").appendTo(".ticker-date-3");
$(data).find(".blog-post:nth-of-type(4) .date").appendTo(".ticker-date-4");
$(data).find(".blog-post:nth-of-type(5) .date").appendTo(".ticker-date-5");
});发布于 2018-01-26 14:56:14
通过将当前.blog-post的索引与目标.ticker-N元素关联起来,您可以通过一个循环来实现这一点,如下所示:
$.get('/blog.html', function(data) {
$(data).find('.blog-post').each(function(i) {
var $blog = $(this), index = i + 1;
$blog.find('.blog-title').appendTo('.ticker-' + index);
$blog.find('.img').appendTo('.ticker-image-' + index);
$blog.find('.date').appendTo('.ticker-date-' + index);
});
});
https://stackoverflow.com/questions/48463773
复制相似问题