jquery - 根据字体大小和字体样式计算字符串的宽度

标签 jquery html css fonts

我试图根据字体大小和字体样式确定字符串的宽度。
但我不确定该怎么做。我在谷歌上找到了一个函数,但我不太明白它是如何工作的。

$.fn.textWidth = function(text, font) {
    if (!$.fn.textWidth.fakeEl) $.fn.textWidth.fakeEl = $('<span>').hide().appendTo(document.body);
    $.fn.textWidth.fakeEl.text(text || this.val() || this.text()).css('font', font || this.css('font'));
    return $.fn.textWidth.fakeEl.width();
};

我测试了这个,得到了一个输出,我可以得到字符串的宽度,但是如果我声明字体样式和大小呢?我不知道该怎么做。对此有什么想法吗?

最佳答案

使用这个:

$.fn.textWidth = function(){
  var html_org = $(this).html();
  var html_calc = '<span>' + html_org + '</span>';
  $(this).html(html_calc);
  var width = $(this).find('span:first').width();
  $(this).html(html_org);
 return width;
};

来自 this主题。

关于jquery - 根据字体大小和字体样式计算字符串的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23777412/

相关文章:

javascript - 除了 input[type=text] 之外的所有内容都禁用选择

jquery - 单击时使用 jquery 隐藏元素在 IE 上不起作用?

javascript - 如何使用slideDown()显示动态生成的元素?

javascript - 查找父div下的div元素的数量

html - 如果没有选择日期,将日期输入字段的默认占位符区域更改为文本 "Date"

jquery - 宽度 : Auto not working for IE8

jquery - TinyMCE - 我们能否拥有一个工具栏面板来控制多个实例?

html - 在这种情况下,为什么我更喜欢 HTML5 而不是 HTML4?

php - 为什么包含字符串的 PHP 变量会移到 div 之外?

jquery - HTML 和 CSS 对齐