我想创建一个jQuery,如果出现某个文本,那么它将添加一个类。
检查我的jsfiddle: http://jsfiddle.net/uREUT/130/
我已经删除了所有其他句子以使其一直有效,但如果单词“mener”在div中,我希望添加该类
var sentences = [
'Jeg mener også at det er paent'];
var rand = sentences[Math.floor(Math.random() * sentences.length)];
$(document).ready(function () {
$('#text').text(rand); {
$("#text:contains('MENER')").addClass("#flaekke");
}
});
.flaekke {
background: #000;
width: 200px;
height: 200px;
}
#text {
margin: 20px auto;
width: 80%;
font-size: 200%;
text-align: center;
z-index: 10;
color: #000;
text-transform:uppercase;
}
答案 0 :(得分:2)
从类名中删除哈希(#)。将类添加到包含文本的元素中也不需要太多代码。
这就是你应该需要的:
var sentences = [
'Jeg mener også at det er paent'];
var rand = sentences[Math.floor(Math.random() * sentences.length)];
$(document).ready(function () {
$("#text").text(rand);
$("#text:contains('MENER'), #text:contains('mener')").addClass("flaekke");
});
答案 1 :(得分:1)
我对您的代码进行了这些更改以使其正常工作:
#
.flaekke
规则之后移动#text
规则并添加一个!important
以确保所需的`.flaekke
规则在我需要时生效。请记住,ID指定的CSS规则具有比类更高的优先级,因此如果您希望该类具有优先级,则必须修改规则以实现此目的。您似乎可以检查已有文本的单词 - 您不必查看DOM。此外,您需要从班级名称中删除#:
$(document).ready(function () {
$('#text').text(rand);
if (rand.indexOf("mener") !== -1) {
$('#text').addClass("flaekke");
}
});
答案 2 :(得分:0)
$(document).ready(function () {
$('#text').text(rand);
$("#text:contains('MENER')").addClass("flaekke");
});
这应该有效。
答案 3 :(得分:0)
除了错误的类名,您的具体问题来自于文本实际上包含“mener”而非“MENER”的事实。 jQuery:contains是区分大小写的,不会考虑你的大写变换。
这是一个有效的解决方案: http://jsfiddle.net/uREUT/136/
$(document).ready(function () {
$('#text').text(rand);
$("#text:contains('mener')").addClass("flaekke");
});
答案 4 :(得分:0)
正则表达式很有趣,所以这是一个使用它们的答案:
var sentences = [
'Jeg mener også at det er paent'];
var rand = sentences[Math.floor(Math.random() * sentences.length)];
$(document).ready(function () {
$('#text').text(rand); {
if(new RegExp("mener").test(rand)){
$("#text").addClass("flaekke");
}
}
});
PS。如果您只想添加一个名为flaekke
的类,您不需要id选择器#
或类选择器.
,只需键入您想要的类的名称添加并让jquery发挥其魔力。
答案 5 :(得分:0)
为了完整起见,我创建了一个小提琴,可以在单击按钮时随机化文本,并在mener
不存在的情况下删除该类。
var $text = $('#text'),
sentences =
[
'Jeg mener også at det er paent',
'Jeg også at det er paent',
'Jeg mener paent'
];
$("#randomize-button").on("click", function ()
{
var rand = sentences[Math.floor(Math.random() * sentences.length)];
if (rand.toLowerCase().indexOf('mener') != -1)
$text.addClass("flaekke");
else
$text.removeClass("flaekke");
$text.text(rand);
})
.click();
.flaekke
{
background: black;
color: white;
}
#text
{
width: 80%;
margin: 20px auto;
padding: 10px;
font-size: 200%;
text-align: center;
z-index: 10;
text-transform:uppercase;
border: solid 1px black;
}