这段小代码有问题:
$('.desc_container').each(function() {
var fulltext = $(this).text();
if(fulltext.length > 50) {
var myRegexp = /^(.{47}\w*\W)(.*?)$/g;
var match = myRegexp.exec(fulltext);
var open_part = match[1];
var hidden_part = match[2];
$(this).html(open_part + '<span class="hidden">' + hidden_part + '</span><span class="expand">more..</span>');
}
})
当我在本地或在 jsfiddle 测试它时,一切都很好,但在服务器上尝试此操作返回“匹配为空”。唯一的区别是,在服务器上,desc_container 由 smarty 填充,但这并不重要,因为脚本加载在 $(document).ready(function()...
jQuery 版本:1.11。
有什么想法吗?
最佳答案
好的,问题是生成内容中的换行符,正则表达式应该是这样的
^([\s\S]{47}\w*\W)([\s\S]*?)$
关于javascript - "match is null"仅在服务器 - jQuery 1.x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45077517/