Javascript 我们如何计算任何文本的宽度

Javascript 我们如何计算任何文本的宽度,javascript,html,css,Javascript,Html,Css,我有一个div中的文本。我可以输出div的宽度,如下所示 alert($("div").width()); 但我感兴趣的是获取其中文本的宽度,不包括边框或填充空间。如果我将字体系列指定为arial或verdana,则文本占用的空间将不同。所以我想知道文本的宽度是多少 谢谢我在文本周围设置了一个span元素,得到了我想要的东西 这是代码- 使用innerWidth()并减去填充 alert($("div").innerWidth()-($("div").css("padding").repl

我有一个div中的文本。我可以输出div的宽度,如下所示

alert($("div").width());
但我感兴趣的是获取其中文本的宽度,不包括边框或填充空间。如果我将
字体系列指定为arial或verdana,则文本占用的空间将不同。所以我想知道文本的宽度是多少


谢谢

我在文本周围设置了一个span元素,得到了我想要的东西

这是代码-

使用
innerWidth()
并减去填充

 alert($("div").innerWidth()-($("div").css("padding").replace("px","")*2));
这里有一些文本
$(函数(){
var div2=$('#div').clone();
第2部分:addClass(“for-calc”);
$('body')。追加(div2);
$('.for calc').html('+$('.for calc').html()+'');
变量宽度=$('.for calc>span').width();
$('.for calc').remove();
警报(宽度);
});

变量width包含来自div#div的文本宽度

尝试将边距和填充设置为0,并设置
display:inline
    <div id="div">Some text here</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
    $(function(){
        var div2 = $('#div').clone();
        div2.addClass('for-calc');
        $('body').append(div2);
        $('.for-calc').html('<span style="display:inline; padding:0">' + $('.for-calc').html() + '</span>');
        var width = $('.for-calc > span').width();
        $('.for-calc').remove();
        alert(width);
    });
</script>