我正在尝试更改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
有什么想法?看似简单,但我已经坚持了很长一段时间。提前谢谢你,希望大家周末愉快!
答案 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);
});