将类添加到使用:contains选择的元素

时间:2011-08-05 20:00:26

标签: jquery jquery-selectors

我试图这样做:

var selec = $("li:Contains('"+ $("#main").val() +"')");
selec.eq(1).addClass("virtual");

我的css:

.virtual
{
    backgroung:red;
    color:white;
}

html看起来像这样

<input type="text" id="main" />
<div id="bottom-div">
<ol>
    <li>Content1</li>
    <li>Content2</li>
    <li>Content3</li>
    <li>Content4</li>
    <li>Content5</li>
    <li>Content6</li>
    <li>Content7</li>
    <li>Content8</li>
    <li>Content9</li>
    <li>Content10</li>
    <li>Content11</li>
    <li>Content12</li>
    <li>Content13</li>
</ol>
</div>
<div id="apparent-div">Apparent div</div>
ContentContent Conetent<br />
ContentContent Conetent<br />
ContentContent Conetent<br />
ContentContent Conetent<br />
ContentContent Conetent<br />
ContentContent Conetent<br />
ContentContent Conetent<br />
ContentContent Conetent<br />
<div id="key"></div>

javascript完美地显示了我想要的内容,但它并没有将类添加到它为什么?

我哪里出错了?

4 个答案:

答案 0 :(得分:3)

似乎work,您的CSS中出现错误:

.virtual
{
    backgroung:red; //Was mispelled
    color:white;
}

应该是:

.virtual
{
    background:red;
    color:white;
}

以下显然不是导致问题的原因:):

你的Javascript中有Contains而不是contains

var selec = $("li:Contains('"+ $("#main").val() +"')");

应该是:

var selec = $("li:contains('"+ $("#main").val() +"')");

答案 1 :(得分:1)

1)css中的拼写错误:backgroung:red; = background:red;

2)“包含”,而非“包含”var selec = $("li:contains('"+ $("#main").val() +"')");

3)选择结果从零开始:selec.eq(0).addClass("virtual");

答案 2 :(得分:0)

如果我理解正确,this应该有用。您有Contains而不是contains

答案 3 :(得分:0)

试试这个

var selec = $("li:contains('"+ $("#main").val() +"')");
selec.eq(1).addClass("virtual");