jquery动态更改类

时间:2012-07-01 19:52:15

标签: jquery

当我做控制台日志时,下面是html结构,打印出来:

<div class="ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" data-id="21">
          <div class="ui-widget-header ui-corner-all">
             <span class="ui-icon ui-icon-minusthick"></span>
             <h6>First Person</h6>
          </div>
          <p class="style-content"></p>
          <p class="style-content">Estimated Missing: 10</p>
          <p class="style-content">
            <span class="sub_task">6</span> 
            People Found
          </p>
        </div>

如果给定变量delta

,我想向<span class="sub_task">6</span>添加其他课程alpha = "12"

截至目前,我的js文件如下所示:

console.log(elem)
elem = $(this).children()[3];
if (alpha=="12"){
elem.addClass("delta");
}

但这会出错:

Uncaught TypeError: Object #<HTMLParagraphElement> has no method 'addClass' 

我有两个问题:

更好的选择器来获取元素。

我该如何添加课程?

2 个答案:

答案 0 :(得分:4)

使用$jQuery ,因为addClass是jQuery的功能

$(elem).addClass("delta");

或者

jQuery(elem).addClass("delta");

同样改变:

elem = $(this).children()[3];

要:

elem = $(this).children().eq(2).find('span'); // note index starts at 0 in eq

或者你可以像这样直接添加类(假设你有相同的html结构)

if (alpha == "12") {
   $('.style-content').find('span').addClass("delta");
}

答案 1 :(得分:1)

两个答案都在一个片段中:

$(this).children().eq(3).addClass('delta');