javascript - 检查 <p> 是否是第一个 child

标签 javascript jquery

这是 jsfiddle 上的代码 http://jsfiddle.net/KGDyR/

我需要在(每个)div 中的(每个)p 上添加类

如果 p 是 div 标签的第一个 child ,添加类 .first

如果不加.notfirst

所以输出会是这样

<div>
    <p class="first">p is first</p>
    <img src="http://projectfoo.com/images/foo_logo.gif" />
</div>

<div>
    <img src="http://projectfoo.com/images/foo_logo.gif" />
    <p class="notfirst">p is not first</p>
</div>

最佳答案

为了简单起见,我建议:

$('p').addClass(function(){
    return this.previousElementSibling === null ? 'first' : 'notfirst';
});

JS Fiddle demo .

或者,在那些不支持 previousElementSibling 的浏览器中工作:

$('p').addClass(function(){
    return !$(this).prev().length ? 'first' : 'notfirst';
});

JS Fiddle demo .

引用资料:

关于javascript - 检查 <p> 是否是第一个 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17196484/

相关文章:

javascript - 如何找到最近的元素

javascript - 为什么我的代码违反了内容安全策略?

javascript - 为什么IE10说 `Object doesn' t支持属性或方法 'appendchild'`

javascript - 获取一行 jQuery 的最后一个 li

jquery - 如果使用 jquery 选择选项具有某些值,如何禁用文本框

javascript - 如何在值输入文本上显示选择选项的值? (vue.js 2)

javascript - 使用 jQuery 或 Google App Engine 的倒计时器?

javascript - 将 grunt-connect-proxy 添加到生成器 Angular gruntfile.js

jquery - 使用最接近焦点的最接近文本框

javascript - 如何使用 html 用户输入在 jQuery 中创建表格?