jquery - 使用 jQuery 计算文本像素宽度

标签 jquery width tooltip

我想向我的菜单添加一个简单的工具提示。如何计算我的文本中有多少像素 工具提示有吗?

HTML:

<nav>
    <ul>
        <li>
            <a href="#" title="Item 1 text">Item 1</a>
        </li>
        <li>
            <a href="#" title="Item 2  longer text" >Item 2</a>
        </li>
        <li>
            <a href="#" title="Item 3 text text text">Item 3</a>
        </li>
    </ul>
</nav>

CSS:

nav{
    position: fixed;
    left:0;
    right:0;
    bottom:0;
    height:30px;
    background: grey;
}
ul{
    width: 300px;
    margin:0 auto;
}
li{
    float:left;
    position:relative;
}
span{
    position:absolute;
    left: 50%;
    bottom: 30px;
    background:black;
    border: solid 1px grey;
    border-bottom:none;
    display:none;
    color:white;
}
li:hover span{
    display:block;
}
a{
    display:block;
    text-decoration:none;
    color: white;
    line-height: 30px;
    padding: 0 10px;

}​

jQuery:

$(document).ready(function(){
    $('nav li').each(function(){
        $(this).append('<span>'+$(this).find('a').attr('title')+'</span>');
    });
    $('nav li span').each(function(){
        // var textwidth = ???? 
        // $('nav li span').css("left",-textwidth/2);
        // $('nav li span').css("width",textwidth);
    });
});

演示:
http://jsfiddle.net/vxUTZ/1/

最佳答案

$(this).width();

使用上面的代码,您将获得跨度的宽度,但在此之前您必须在 css 部分中更改跨度中空格的行为:

span { white-space: nowrap; }

这样,每个空格后面就不会换行,计算出的宽度就是文本的宽度

关于jquery - 使用 jQuery 计算文本像素宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12352174/

相关文章:

php - 通过 jquery ajax 发送 json 不起作用

css - 在 CSS 显示 :table, 中,如何保持一致的单元格宽度?

ios - scrollview 具有不明确的可滚动内容高度和宽度

c# - 如何让 ToolTip 绑定(bind)与 ComboBox 一起工作?

javascript - Google 气泡图自定义工具提示列不呈现

jquery - ajax jquery上下文问题无法解决

javascript - 提交表单仅在 Firefox 浏览器中不起作用

css - 在 ASP.NET 中拉伸(stretch)图像

css - 如何在 IE8 下修复工具提示的宽度

javascript - .error() jquery 函数中的详细错误消息