通过jQuery访问div中的span文本

时间:2015-12-18 21:31:16

标签: jquery ruby-on-rails

我正在尝试更改Rails应用中span标记内的文本。

<% @steps.each do |step| %>
  <div class="step_number">
    <span class="step_order_text"><%= step.order %></span>
  </div>              
<% end %>

我想使用jQuery函数循环遍历在多个步骤中创建的所有'step_order_text'类,如下所示:

stepNums = $('.step_order_text');
    for(i in stepNums){
        var q = stepNums.get(i);
        q.text(updated_order[i].position);

    }

问题是,我一直收到这个错误:

Uncaught TypeError: q.text is not a function

有什么想法?看似简单,但我已经坚持了很长一段时间。提前谢谢你,希望大家周末愉快!

2 个答案:

答案 0 :(得分:1)

如果我没弄错, stepNums 变量将是DOM元素的集合。

stepNums = $('.step_order_text');
for(i in stepNums){
    var q = $(stepNums.get(i));
    q.text(updated_order[i].position.to_s);

}

我相信这会解决您的问题。将每个元素包装在 $(..)中或使用替代 innerText()函数

答案 1 :(得分:1)

使用.each()循环遍历jQuery集合。在函数体内,this指的是循环的当前元素。

stepNums.each(function(i) {
    $(this).text(updated_order[i].position);
});