【发布时间】:2026-01-09 13:50:01
【问题描述】:
我正在使用 instafeed.js 插件动态生成照片供稿。 我想将照片 cmets 截断为 140 个字符左右,但我在执行此操作时遇到了问题。我正在通过 instafeed 脚本生成我的标记,它将照片 cmets 放入具有“instacmets”类的 div 中。我编写了另一个函数来尝试使用 instacmets 类截断任何元素中的字符串,但它不起作用。
Instafeed 脚本:
window.onload = function pullPhotos(){
var routeFeed = new Instafeed({
get: 'tagged',
tagName: 'Route91Harvest',
clientId: 'myID',
limit: '18',
resolution: 'low_resolution',
template: '<div class="col-md-4 instapad"><div class="instacontainer heightlimit"><div class="row"><div class="col-md-12 imageblock whitebg"><a href="{{link}}"><img src="http:{{image}}" class="img-responsive center-block" /></a></div></div><div class="row"><div class="col-md-12 whitebg"><div class="instacomments center-block">{{caption}}</div></div></div></div></div>'
});
var rtFeed = new Instafeed({
get: 'tagged',
tagName: 'Rt91Harvest',
clientId: 'myID',
limit: '18',
resolution: 'low_resolution',
template: '<div class="col-md-4 instapad"><div class="instacontainer heightlimit"><div class="row"><div class="col-md-12 imageblock whitebg"><a href="{{link}}"><img src="http:{{image}}" class="img-responsive center-block" /></a></div></div><div class="row"><div class="col-md-12 whitebg"><div class="instacomments center-block">{{caption}}</div></div></div></div></div>'
});
routeFeed.run();
rtFeed.run();
}
这是我的截断脚本,目前无法使用:
function short(length) {
var s = document.getElementsByClassName('instacomments');
var len = s.length;
for(var i = 0; i < len; i++) {
var g = s[i].innerHTML;
var x = ". . . More";
var leng = length-5;
var html = g.substring(0, leng)+"";
var allHTML = html+x;
s[i].innerHTML = allHTML;
}
}
short(140);
非常感谢任何帮助!
【问题讨论】:
-
你永远不会测试
g.length > leng。为什么不?您是否知道&nbsp;在 HTML 中指定了一个用户可见字符,但在字符串中占用了 6 个字符?字符串中是否可能存在占用空间但未指定用户可见字符的标签?您是否担心截断标签:short('<h1>', 3) == '<h1. . . More'? -
你只有简单的
length,你可能想要g.length。 -
不确定您在哪里看到 这个脚本是我在另一个搜索中找到的,结果很成功,所以我正在尝试调整它以达到我的目的。老实说,一旦我弄清楚截断部分,我就打算摆脱“...更多”的东西
标签: javascript string instagram truncate