我怎么能写它,以便如果跨度说新手然后它的一种颜色,如果跨度说俱乐部工作人员然后它有另一种颜色?
<span class="usertitle">Newbie</span>
<span class="usertitle">Club Staff</span>
答案 0 :(得分:1)
您可以尝试:contains
选择器:
$(".usertitle:contains('Newbie')")
或each
方法:
$(".usertitle").each(function(){
if ( $.trim($(this).text()) == 'Newbie' ) {
// $(this).css('color', 'blue')
}
})
答案 1 :(得分:1)
$(document).ready(function() {
$('.usertitle').each(function() {
if ($(this).html() == "Newbie") $(this).css("color","blue");
else if ($(this).html() == "Club Staff") $(this).css("color", "red");
});
});
答案 2 :(得分:1)
如果你真的想从内容开始工作:
$(".usertitle").each(function() {
var $this = $(this);
var color;
switch ($.trim($this.text())) {
case "Newbie":
color = "green"; // For instance
break;
case "Club Staff":
color = "red"; // For instance
break;
}
if (color) {
$this.css("color", color);
}
});
请注意您的更新标记在编辑不会。但是我仍然使用$.trim
的使用,这在其他答案中很奇怪,因为您的标记可能在您的跨度中的单词两侧包含空格。$.trim
,因为它不会花费太多而且不那么精致。
(或者,当然,而不是css
,请使用addClass
,以便您可以通过样式表控制演示文稿。)
但是如果可能的话,我真的会尝试找到一种方法来处理除内容之外的其他内容。
或更紧凑和声明:
var colors = {
"Newbie": "green",
"Club Staff": "red"
};
$(".usertitle").each(function() {
var $this = $(this);
var color = colors[$.trim($this.text())];
if (color) {
$this.css("color", color);
}
});
再次,或者不是css
,使用classes
表而不是colors
表并使用addClass
,因此您可以通过样式表控制演示文稿,例如:
var classes = {
"Newbie": "newbie",
"Club Staff": "club-staff"
};
$(".usertitle").each(function() {
var $this = $(this);
var cls = classes[$.trim($this.text())];
if (cls) {
$this.addClass(cls);
}
});
答案 3 :(得分:1)
我会使用CSS类和addClass()
$('.usertitle').each(function(){
var t = $(this),
text = $.trim(t.text())
t.addClass(
text === 'Newbie' && 'green' ||
text === 'Club Staff' && 'red' ||
!text && 'default'
)
})
答案 4 :(得分:1)
js区分大小写:
$('span.usertitle:contains('Newbie')').addClass('newbieColor');
$('span.usertitle:contains('Club Staff')').addClass('clubStaffColor');
js不区分大小写:
$('span.usertitle').html(function() {
var text = $(this).text().toLowerCase();
if(text === 'newbie') {
$(this).addClass('newbieColor');
} else if(text === 'club staff') {
$(this).addClass('clubStaffColor');
}
});
<强> CSS 强>:
.newbieColor {
color: yellow;
}
.clubStaffColor {
color: red
}
答案 5 :(得分:0)
$('.usertitle').each(function(){
var text = $.trim($(this).text());
if(text == "Newbie"){
// one color
}
else if( text == "Club Staff"){
// another color
}
});