我想缩短文章中的文字,因为我正在使用IFTTT自动发布内容...
我尝试了这个

function truncateText(selector, maxLength) {
    var element = document.querySelector(selector),
        truncated = element.innerText;

    if (truncated.length > maxLength) {
        truncated = truncated.substr(0,maxLength) + '...';
    }
    return truncated;
}

document.querySelector('p').innerText = truncateText('p', 30);


却什么也没做...

最佳答案

我在jsfiddle上尝试了您的代码,它正在工作。
可能的解决方案可能是在页面加载后使用您的代码。

第一个解决方案

script标记移到最末端,紧接在</body>标记之前。

第二解决方案

等待页面,然后使用您的代码

function truncateText(selector, maxLength) {
    var element = document.querySelector(selector),
    truncated = element.innerText;

    if (truncated.length > maxLength) {
       truncated = truncated.substr(0,maxLength) + '...';
    }
       return truncated;
}

document.addEventListener("DOMContentLoaded", function(event) { // After the page is loaded
       document.querySelector('p').innerText = truncateText('p', 30);
});

10-06 04:29