【发布时间】:2018-11-27 05:58:49
【问题描述】:
我有以下;
<div class="pin">
<p class="pin-text hidden">text</p>
</div>
和 JS:
form.on('mouseover', '.pin', function(e) {
var id = this.id;
if($('#' + id).children('p.pin-text').length) {
pin_text_width = ($('#' + id).children('p.pin-text').parent().width()).toString() + 'px';
pin_text = $('#' + id).children('p.pin-text').text();
}
});
我需要找到段落的文本宽度,以便调整宽度可变的 PNotify 工具提示:
tooltip = new PNotify({
text: pin_text,
width: pin_text_width,
....
如何计算文本(字)的宽度?
【问题讨论】:
-
首先你的
.pin元素没有id。其次,您可以只使用$(this)来获取元素,而不是获取id并将其连接到选择器 -
好的,但这并不能解决宽度问题
-
这就是为什么它是一个评论。没有足够的关于你的提示库的上下文,以及它与
p元素的计算宽度的精确结合——尤其是在有多个p元素的情况下。您是在定义多个工具提示,还是一个实例?一个可行的例子会有很大帮助 -
一个工作示例是一千行长。我动态显示带有附加文本的引脚(来自数据库)。如果我这样做 alert($(this).children('p.pin-text').parent().html()) - 它会显示整个
html。但是 alert($(this).children('p.pin-text').parent().width()) 返回零宽度。
-
我意识到这不是我需要的,我正在尝试获取父级的宽度,而我需要获取文本本身的宽度以使该段落具有该宽度。我会更新帖子。