0

我正在尝试在决赛中添加一个类

< p >
使用以下 jQuery 代码在我的标记中添加标签。

$('div.jobpost_body p:last').addClass('classificationsContainer');

我目前能够在现代浏览器中使用 CSS3 来做到这一点,但是我需要支持 IE7。出于某种原因,此代码未将“classificationsContainer”类应用到 div 中的最后一个 p 标签,上面指定了一个 jobpost_body 类。

有什么方法可以重构此语句以确保跨浏览器兼容性?

我的html可以在下面找到:

<div class="jobpost_body">
<h2>
<a href="#">Academic Administrator</a>
</h2>
<p>Lorem ipsum</p>
<p>
 <span class="jobclass even organisation">
 <span class="jobclass_type">Organisation</span>
 <span class="jobvalue">&nbsp;Test</span>&nbsp;</span>
 <span class="jobclass uneven school/department">
 <span class="jobclass_type">School/Department:</span>
 <span class="jobvalue">&nbsp;Test</span>&nbsp;</span>
 <span class="jobclass even based_at">
 <span class="jobclass_type">Based at:</span>
 <span class="jobvalue">&nbsp;Oxfordshire</span>&nbsp;</span>
 <span class="jobclass uneven hours_of_work">
 <span class="jobclass_type">Hours of work:</span>
 <span class="jobvalue"> &nbsp;37 hours per week</span>&nbsp;</span>
 </p>
</div>

顺便说一句,我还没有创建 html,所以请不要评论它如何无效等。

4

3 回答 3

2

并用于find()选择子内容,它的选择器要快得多:

$('div.jobpost_body').find("p").last().addClass('classificationsContainer');
于 2013-09-11T12:05:16.927 回答
2

给 .last() 一个镜头:

$('div.jobpost_body p').last().addClass('classificationsContainer');

支持 IE 7. JsFiddle

于 2013-09-11T12:03:38.033 回答
0

不幸的是,上面提供的解决方案似乎都不适用于我的解决方案。因此,我不得不通过不同的方式来解决这个问题。由于这个 < p > 标记将始终包含至少一个具有 .jobclass 类的子级,因此我可以简单地将一个类应用于此选择器的父级以定位最后一个 < p > 标记。

    $('span.jobclass').parent().addClass('classificationsContainer');

感谢所有提供解决方案的人,但这似乎是最终适合我的情况的最佳解决方案。

于 2013-09-11T12:22:20.567 回答