.each()问题,jquery

时间:2011-04-09 19:33:41

标签: jquery each html

我正在尝试将<span>中的数字用于.each()以查找所有span,但在获取其中的数字时遇到问题。我想将跨度中的数字附加到图像名称,但没有运气?

代码:

var _td = $("td.tri-img span");
$.each(_td, function(i, val){
    $(val).html();
console.log(val);

var _img = $('.wrap-graph.relative img');
var _img_src = 'img/triangle' + val + '.png';
_img.attr('src', _img_src);
});

HTML:

<td class="tri-img"><img class="one"src="" alt="" ><span>11</span></td>
<td class="tri-img"><img class="two" src="" alt="" ><span>33</span></td>
<td class="tri-img"><img class="three" src="" alt="" ><span>44</span></td>
<td class="tri-img"><img class="four" src="" alt="" ><span>66</span></td>

2 个答案:

答案 0 :(得分:2)

更改

var _img_src = 'img/triangle' + val + '.png';

var _img_src = 'img/triangle' + val.innerHTML + '.png';

答案 1 :(得分:1)

试试这个

$("td.tri-img span").each(function(){
    var $this = $(this);
    $this.prev('img').attr('src', 'img/triangle'+$this.text()+'.png');
});

编辑:如果要清除任何非数字的文本,请执行以下操作:

$("td.tri-img span").each(function(){
    var $this = $(this),
        text  = $this.text().replace(/\D/, '');
    $this.prev('img').attr('src', 'img/triangle'+text+'.png');
});