首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery: AddClass

jQuery: AddClass
EN

Stack Overflow用户
提问于 2011-05-19 19:06:00
回答 5查看 258关注 0票数 3

我有一个列表,其中跨度包含一个数字。我想“复制”这个数字到一个样式(将宽度设置为百分比)在它旁边的一个跨度上。

代码语言:javascript
复制
<span class="celebName">Per</span>
<span class="celebPct">32</span>
<span class="celebBar"></span>

jQuery

代码语言:javascript
复制
$('.celebPct').each(function(index) {
    var celebPct = $(this).val();
    $(this).next(".celebBar").css({"width": + $(celebPct)+"%";});
});

我希望结果是这样的:

代码语言:javascript
复制
<span class="celebName">Per</span>
<span class="celebPct">32</span>
<span class="celebBar" style="width:32%;"></span>

为什么这个不行??

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-05-19 19:08:32

试试这个:

代码语言:javascript
复制
$('.celebPct').each(function(index) {
    var celebPct = $(this).text();
    $(this).next(".celebBar").css({"width":  celebPct+"%"});
});

下面是一个有用的小提琴:http://jsfiddle.net/maniator/beK89/

另外,如果您只有一个css更改--您不需要.css调用中的一个对象--您只需做以下操作:.css("width", celebPct+"%");

票数 3
EN

Stack Overflow用户

发布于 2011-05-19 19:08:57

Spans没有值,所以尝试文本:

代码语言:javascript
复制
var celebPct = $(this).text();
票数 1
EN

Stack Overflow用户

发布于 2011-05-19 19:09:06

不能在span上使用val(),您需要使用text()。此外,css选项的语法也是错误的。可以在不使用对象的情况下设置一个选项。加上来自text()的返回值是一个字符串值,而不是jQuery,所以在连接时不需要用jQuery包装它。

代码语言:javascript
复制
$('.celebPct').each(function(index) {
    var celebPct = $(this).text();
    $(this).next(".celebBar").css( "width", celebPct+"%" );
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6063656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档