在每个Prototype选择器结果中按类更新元素

时间:2009-12-06 14:51:31

标签: javascript prototypejs

好的,我有这样的HTML结构:

<div class="content">
  <div id="a1" class="article">
    <p>content</p>
    <p>content</p>
    <p class="info"></p>
  </div>
  <div id="a2" class="article"></div>
  <div id="a3" class="article"></div>
  <div id="a4" class="article"></div>
</div>

目标是处理每篇文章并将有关它的信息添加到info p元素中。所以我想我会像这样遍历所有的div:

$$('.article').each(function(item,index){
   var info = $(item).select('p.info');
   info.update('<a>link</a> <p>Stuff about the article etc.</p>');
}); 

并使用update()编写新内容。  然而,它不起作用,错误是.update()不是函数。我该如何进行更新?

好的,结果:T.J。克劳德暗示为什么它不起作用,我最终提出了这个代码:

$(item).select('p.info')[0].update('Stuff about the article etc.');

关键点在于操作select()返回的第一个数组项,然后按照我想要的那样更新了info元素。

1 个答案:

答案 0 :(得分:2)

Element#select返回一个数组,而不是一个元素,但你将它视为一个元素。您可能需要Element#down代替。