截断文本,忽略子节点javascript
我试图截断div中也包含span标记的字符串,但我的脚本正在收集span标记,将其转换为文本并将其推回,如何忽略标记中的子数据 HTML:截断文本,忽略子节点javascript,javascript,truncate,Javascript,Truncate,我试图截断div中也包含span标记的字符串,但我的脚本正在收集span标记,将其转换为文本并将其推回,如何忽略标记中的子数据 HTML: 如果我理解正确,您不希望因此: 但只有文本 如果是这样,您可以使用: var g = $(this).text(); 片段: $(函数(){ $(“.row title”).each(函数(){ var g=$(this.text().trim(); var x=“…”; var-leng=50; var html=g.substring(0,leng
如果我理解正确,您不希望因此: 强> 但只有文本 如果是这样,您可以使用:
var g = $(this).text();
片段:
$(函数(){
$(“.row title”).each(函数(){
var g=$(this.text().trim();
var x=“…”;
var-leng=50;
var html=g.substring(0,leng)+;
var allHTML=html+x;
$(this).text(所有HTML);
});
});代码>
标题:
这是我要截断的文本
如果我理解正确,您不希望因此:
强>
但只有文本
如果是这样,您可以使用:
var g = $(this).text();
片段:
$(函数(){
$(“.row title”).each(函数(){
var g=$(this.text().trim();
var x=“…”;
var-leng=50;
var html=g.substring(0,leng)+;
var allHTML=html+x;
$(this).text(所有HTML);
});
});代码>
标题:
这是我要截断的文本
只需迭代文本节点:
$(“.row title”)。每个(函数(){
var-leng=25;
[]forEach.call(this.childNodes,函数(child){
如果(child.nodeType==3){//text节点
var txt=child.textContent.trim();
如果(txt.length>leng){
child.textContent=txt.substr(0,leng)+“…”;
}
}
});
});代码>
标题:
这是我要截断的文本
只需迭代文本节点:
$(“.row title”)。每个(函数(){
var-leng=25;
[]forEach.call(this.childNodes,函数(child){
如果(child.nodeType==3){//text节点
var txt=child.textContent.trim();
如果(txt.length>leng){
child.textContent=txt.substr(0,leng)+“…”;
}
}
});
});代码>
标题:
这是我要截断的文本
“这是我要截断的文本”。长度==40
不应被截断,因为您的长度变量是50。@JoseHermosillaRodrigo如果您仔细查看div的内容,您可能会看到新行字符(即:\n)以及其中的隐藏空格。如何处理这些字符?删除它们是必需的?@JoseHermosillaRodrigo我只更新了完整的js代码段以及您可以看到的内容,删除了无用的\n空格,现在字符串不再被截断。但问题依然存在:这是正确的吗?让我知道这个问题不是我提的。但他似乎只是想截断文本这是我要截断的文本
,你现在也要截断标题:这是我要截断的文本
,我想他想要的是类似@Oriol-answer的东西。@JoseHermosillaRodrigo对我来说,很高兴收到评论。我喜欢你的评论。你帮助我思考了更多。因此,再次非常感谢“这是我要截断的文本”。length==40
不应该被截断,因为您的长度变量是50。@JoseHermosillaRodrigo如果您仔细查看div的内容,您可能会看到新行字符(即:\n)以及其中的隐藏空格。如何处理这些字符?删除它们是必需的?@JoseHermosillaRodrigo我只更新了完整的js代码段以及您可以看到的内容,删除了无用的\n空格,现在字符串不再被截断。但问题依然存在:这是正确的吗?让我知道这个问题不是我提的。但他似乎只是想截断文本这是我要截断的文本
,你现在也要截断标题:这是我要截断的文本
,我想他想要的是类似@Oriol-answer的东西。@JoseHermosillaRodrigo对我来说,很高兴收到评论。我喜欢你的评论。你帮助我思考了更多。所以,再次非常感谢
var g = $(this).text();