* UPDATE * : デモはこちら: http://jsfiddle.net/cEepx/
折り返しの前にテキスト行の末尾に省略記号を追加する次のコードがあります。
(function (e) {
e.fn.ellipsis = function (t) {
var n = {
row: 1,
"char": "..."
};
return t = e.extend(n, t), this.each(function () {
var n = e(this),
r = n.text(),
i = n.height();
n.text("a");
var s = n.height(),
o = s * t.row;
if (i <= o) {
n.text(r);
return
}
var u = 1,
a = r.length;
while (u < a) {
var f = Math.ceil((u + a) / 2);
n.text(r.slice(0, f) + t["char"]), n.height() <= o ? u = f : a = f - 1
}
n.text(r.slice(0, u) + t["char"])
}), this
}
})(jQuery);
次のように単純に適用されます。
$("div.mydiv").ellipsis();
省略記号が追加されたら、mydiv から省略記号を削除する 2 番目の関数を追加するように変更するにはどうすればよいですか?