【发布时间】:2014-05-10 12:18:07
【问题描述】:
当我用点替换文本时,我有这个小提琴:
http://jsfiddle.net/k5VET/1750/
var p=$('#fos');
var divh=$('#fos').height();
while (p[0].scrollHeight>divh) {
p.text(function (index, text) {
return text.replace(/\W*\s(\S)*$/, '...');
});
}
它的工作,但是:
当我在我的网站中准确复制此代码时,我在控制台中收到此错误:
TypeError: p[0] is undefined
while (p[0].scrollHeight>divh) {
有人可以向我解释为什么 fiddle 可以工作,但在服务器上却不行吗?
您好!
【问题讨论】:
-
您的页面上有 id
fos的 Element 吗? -
将您的代码包装在准备好的文档中或将您的代码放在页面底部。
-
我没有带有“id fos”的元素,代码在“文档准备就绪”中并且已经在页面底部
-
试试
console.log(p.length)看看你在控制台中得到了什么。您的代码应该是1才能工作。 -
var p=$('#fos');表示使用 jQuery 查找所有带有id=fos的元素并调用此p(id 应该是唯一的),所以没有这样的元素,就没有p[0],因此你会得到错误
标签: javascript jquery text replace