Javascript JS:如果字符串长度超过50个字符,则添加省略号

Javascript JS:如果字符串长度超过50个字符,则添加省略号,javascript,reactjs,conditional-operator,Javascript,Reactjs,Conditional Operator,如果字符串超过50个字符,是否可以使用三元运算符添加“…” 我这样试过了,但没用 {post.title.substring(0, 50) + post.title.length > 50 ? '...' : ''} 有什么建议吗?条件运算符“”相当贪婪。要使其仅应用于表达式中+后面的部分,需要在分组运算符中加括号: {post.title.substring(0, 50) + (post.title.len

如果字符串超过50个字符,是否可以使用三元运算符添加“…”

我这样试过了,但没用

{post.title.substring(0, 50) + post.title.length > 50
                    ? '...'
                    : ''}

有什么建议吗?

条件运算符“”相当贪婪。要使其仅应用于表达式中+后面的部分,需要在分组运算符中加括号:

{post.title.substring(0, 50) + (post.title.length > 50
// −−−−−−−−−−−−−−−−−−−−−−−−−−−−^
                    ? '...'
                    : '')
// −−−−−−−−−−−−−−−−−−−−−^
}

<>但是你可以考虑使用CSS来代替JavaScript。看见您可能需要空白:nowrap和overflow:hidden;以及:

.限制{ 最大宽度:20em; 文本溢出:省略号; 空白:nowrap; 溢出:隐藏; } 有限制: 现在是所有好人来帮助他们国家的时候了 无限制地:
现在是所有好人来帮助他们国家的时候了也许你可以这样做:

var shortTitle = post.title.length > 50 ? post.titie.substring(0,50) + "..." : post.title;

你并不是说它是如何工作的,但我猜你需要括号:…+post.title.length>50。。。。但是你可以考虑使用CSS来代替JavaScript。看见您可能还需要空白:nowrap。