当我做控制台日志时,下面是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'
我有两个问题:
更好的选择器来获取元素。
我该如何添加课程?
答案 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');