【发布时间】:2011-08-07 06:33:13
【问题描述】:
如果我有这个 html
<div>
<p>1</p>
</div>
<div>
<p>1</p>
<p>2</p>
</div>
还有这个 jquery
$('div').each(function () {
$(this).find('p').eq(1).html('test');
});
我明白了
<div>
<p>1</p>
</div>
<div>
<p>1</p>
<p>test</p>
</div>
我应该使用什么 jquery 来代替?
<div>
<p>1</p>
<p>test</p>
</div>
<div>
<p>1</p>
<p>test</p>
</div>
第一个 div 上的 eq(1) 没有匹配项,所以它只是跳过它。如果不存在子项,我如何添加子项,如果存在则更新子项,而无需将 jquery 拆分为多个语句?
【问题讨论】:
-
without having to split the jquery into several statements是什么意思?if语句是否被禁止? -
我的理解是,如果做同样的事情并且易于理解,1 行代码通常比 5 行代码要好。