我有一些p
标签,其中包含PointsToggle
类
<p class="PointsToggle">POINTS STATEMENT - AVAILABLE 7AM TOMORROW</p>
<p class="PointsToggle">SOME OTHER TEXT</p>
还有一些像这样的jQuery
$('.PointsToggle').each(function() {
if ($(this).text = 'POINTS STATEMENT - AVAILABLE 7AM TOMORROW') {
$(this).css('width', '510px');
}
else {
$(this).css('width', '20px');
}
})
但我似乎无法让它发挥作用
有什么想法吗?
由于
杰米
答案 0 :(得分:8)
$('.PointsToggle').each(function() {
var $this = $(this);
if ($this.text() == 'POINTS STATEMENT - AVAILABLE 7AM TOMORROW') {
$this.width(510);
} else {
$this.width(20);
}
})
答案 1 :(得分:3)
您正在使用=表示分配。尝试==代替。
答案 2 :(得分:2)
.text()
是一个函数,因此在调用它时会遗漏一些括号,如下所示:
if ($(this).text() == 'POINTS STATEMENT - AVAILABLE 7AM TOMORROW') {
或者在jQuery 1.4 +中总体上更简单一点:
$('.PointsToggle').width(function() {
return $(this).text() == 'POINTS STATEMENT - AVAILABLE 7AM TOMORROW' ? 510 : 20;
});
答案 3 :(得分:0)
$(document).ready() {
$('.PointsToggle').each(function() {
if($(this).html() == 'POINTS STATEMENT - AVAILABLE 7AM TOMORROW') {
$(this).width(510);
} else {
$(this).width(20);
}
})
});
如果有可能我会让生成html的代码添加另一个类。然后这可以用css完成。例如:
<p class="PointsToggle Toggled">POINTS STATEMENT - AVAILABLE 7AM TOMORROW</p>
<style>
.PointsToggle {width:20px;}
.PointsToggle.Toggled {width:510px;}
</style>
答案 4 :(得分:0)
这将有效:
$('.PointsToggle').each(function() {
if ($(this).text() == 'POINTS STATEMENT - AVAILABLE 7AM TOMORROW') {
$(this).css('width', '510px');
}
else {
$(this).css('width', '20px');
}
})