我正在尝试使用以下jQuery代码在我的标记中的最终
< p >
标记中添加一个类。
$('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"> Test</span> </span>
<span class="jobclass uneven school/department">
<span class="jobclass_type">School/Department:</span>
<span class="jobvalue"> Test</span> </span>
<span class="jobclass even based_at">
<span class="jobclass_type">Based at:</span>
<span class="jobvalue"> Oxfordshire</span> </span>
<span class="jobclass uneven hours_of_work">
<span class="jobclass_type">Hours of work:</span>
<span class="jobvalue"> 37 hours per week</span> </span>
</p>
</div>
我还没有创建html所以请不要评论它是如何无效的等等。
答案 0 :(得分:2)
给.last()一个镜头:
$('div.jobpost_body p').last().addClass('classificationsContainer');
支持IE 7。 的 JsFiddle 强>
答案 1 :(得分:2)
使用find()
选择子内容,它的选择速度要快得多:
$('div.jobpost_body').find("p").last().addClass('classificationsContainer');
答案 2 :(得分:0)
不幸的是,上面提供的解决方案似乎都不适用于我的解决方案。因此,我必须通过不同的方式来解决这个问题。因为这&lt; p> tag将始终包含至少一个类为.jobclass的子类,然后我可以简单地将一个类应用于此选择器的父级以定位最后一个&lt; p>标签
$('span.jobclass').parent().addClass('classificationsContainer');
感谢所有提供解决方案的人,但对于我的情况来说,这似乎是最好的。