是否有可能获得多个<span>元素
Is it possible to get width of multiple <span> elements?
所以我有一对动态生成的<span>
元素。问题是我需要知道它们的宽度。我试图用<div>
和alert($("#spanWrap").width());
包裹它们,但它给出了容器的宽度而不是<span>
元素。
我想我可以通过jsFiddl'n来解释它:http://jsfiddle.net/XGynv/7/
将display: inline-block;
添加到div的样式中。
编辑:
, span用div括起来,如
<div id="spanwrapper">
<span>span1</span>
<span>span2</span>
</div>
CSS样式应该包含(按照这个顺序,参见gilly3的注释):
#spanwrapper {
display: inline-block; // the div shrinks to fit around the content
}
#spanwrapper {
*display: inline; // adding support for IE7 or lower
}
让你使用jquery得到宽度:
$("#spanwrapper").width();
或使用常规javascript:
document.getElementById('spanwrapper').clientWidth;
请注意,在浏览器定义的大小下,现在在样式中定义固定宽度是没有意义的。
除非您编写自己的代码来像下面这样添加每个span的宽度,否则您无法做到这一点。
var w = 0;
$("#divMenuSpan span").each(function(){
w += $(this).width();
});
//Now w will have the combined width of all the spans inside divMenuSpan
这是一个显而易见的答案,但你可以直接-
parseInt($("#fashion").width()) + parseInt($("#wedding").width())
如果您将该容器更改为span而不是div,可能会更容易。
<span id="divMenuSpan">
http://jsfiddle.net/XGynv/8/我更新了你的jsFiddle。
基本上就是循环遍历跨度和宽度之和
这是因为div是一个块元素,而块元素总是填充其容器的宽度。要使div适合其内容的宽度,请使其浮动:
http://jsfiddle.net/XGynv/12/#wrap
{
width: 666px;
overflow: hidden;
}
#divMenuSpan
{
float: left;
}
Edit:我应该指出,如果您的span换行,浮动容器div的宽度将使用此技术缩小。如果需要span的实际宽度,则必须在循环中迭代div并将其宽度相加。
类似
var size = 0;
$('span.someclass').each(function(el) { size += $(el).width(); });
?
您可以编写javascript代码来计算它
$(document).ready(function() {
var spans = $("span"), //span collection
width = 0;
spans.each(function(index,ele){
width = width + $(ele).outerWidth(true); //here, it will include margin.
});
console.log(width);
});
相关文章:
- 使用jquery将单个换行符替换为span元素
- 将换行符写入<span>元素
- 用于检索span元素内容的JavaScript
- 获取单选按钮元素的span子项
- 如何使动态树标题中的span元素可点击
- 如何在使用 fancybox 时从这个 span 元素制作一个 javascript 变量
- Javascript正则表达式:从头到尾将span元素与某个类进行匹配
- 找到最近的span元素并更改CSS类
- 如何为span元素添加/删除类onclick
- 如何使用 JQuery 检索具有特定类的 span 元素中的文本,该元素位于单击的对象内
- 鼠标悬停在一个 span 元素上多次触发
- 在 for 循环内分组并根据样式属性修改 span 元素
- 如何使用jQuery获取后代span元素
- 如何根据用户输入 HTML 更新多个 SPAN 元素
- 如何在单词周围添加 span 元素
- 从上一个 span 元素中获取样式
- 当我单击元素数学/物理/化学时,如何使用jQuery获取SPAN ID
- 检查 span 元素是否包含“文本”,并且是父元素的最后一个子元素
- 尝试将 span 元素的值输入到数据库中
- 如何获取与元素SPAN Style With JavaScript相关的所有文本