2011-04-09 46 views
0

要显示的图像阵列我有一个带有%的表格,我需要运行一系列图像并根据%显示正确的图像。所以,在td.tri-img中,如果是20%,那么我需要使用jquery来拉动triangle20.png。基于%

编辑:所以我有这个现在,这个JS,但我不能这样做更有效率,通过TD的循环,并在跨???拉:

function triangleImages() { 
var _td = $('td#tri-first'); 
    var _percentage = $('td#tri-first span').html(); 
    //get the img element 
    var _img = $('img#column1'); 
    //generate new source for img 
    var _img_src = 'img/triangle' + _percentage + '.png'; 
    //set the src 
    _img.attr('src', _img_src); 
    } 
    triangleImages(); 

这里是表:

  <tr class="tri-col"> 
      <td class="num-label">20</td> 
      <td class="tri-img" id="tri-first"><img class="one" id="column1" src="" alt="" ><span>20</span></td> 
      <td class="tri-img"><img class="two" src="" alt="" ><span>30</span><span>&#37;</span></td> 
      <td class="tri-img"><img class="three" src="" alt="" ><span>40</span><span>&#37;</span></td> 
      <td class="tri-img"><img class="four" src="" alt="" ><span>35</span><span>&#37;</span></td> 
      <td class="tri-img"><img class="five" src="" alt="" ><span>23</span><span>&#37;</span></td> 
      <td class="tri-img"><img class="six" src="" alt="" ><span>22</span><span>&#37;</span></td> 
      <td class="tri-img"><img class="seven" src="" alt="" ><span>50</span><span>&#37;</span></td> 
      <td class="tri-img"><img class="eight" src="img/triangle.png" alt="" ><span></span><span>&#37;</span></td> 
      <td class="tri-img"><img class="nine" src="img/triangle.png" alt="" ><span></span><span>&#37;</span></td> 
     </tr> 

回答

0

你看这个:

var _tds = jQuery('td.tri-img'); 

可以使用jQuery.each在_tds,然后使用jQuery( '独特-TD')的孩子仁(“跨度”)。HTML()来获得

//get the td element 
var _td = jQuery('#td_id'); 
var _width = _td.attr('width'); 
//remove % from width 
var _width = _width.substr(0, _width.length - 1); 
//get the img element 
var _img = jQuery('#img_id'); 
//generate new source for img 
var _img_src = 'img/triangle' + _width + '.png'; 
//set the src 
_img.attr('src', _img_src); 
+0

我删除宽度%,其不是基于宽度,它是基于的数量,所以第一个是20。我可以通过td.tri-img获取的值,然后按照这种方式进行分配? – Xtian 2011-04-09 16:42:22

+0

var _td = $(“td.tri-img span”); $ .each(_td,function(i){console.log($(i)); });我正在尝试这个,但我没有得到值,如果我附加.html();到变量它只给我第一个值? – Xtian 2011-04-09 18:54:02

+0

你试过$(这个)而不是我每个里面? – 2011-04-09 19:15:40