2016-03-30 20 views
-2

çalışmayı durdurur o this.id.slice (-1) sadece 9.alternatif, benim kod yakında

ihtiyacım için id 0 çalışmak Çalışmadan önce yeni bir alternatif. Sahip olduğum şey bu.

$("a.toggle_showhide_links").click(function() { 
    $("#showhide" +this.id.slice(-1)).slideToggle(400); 
}); 

Bu, en az 5 kez çalışan bir döngüdür. Kimlikleri hep itibaren bir kimlik ibraz etmek, sonra çok basit bir yol deseni link-<number> ve showhide-<number> izlerseniz

<tr> 
    <td><a id='link-".$x."' class='toggle_showhide' href='#!'>CLICK</a></td> 
</tr> 
<tr id='showhide-".$x."' style='display:none;'> 
    <td style='border:1px solid black;' colspan='2'> 
      <!-- Hideable contents--> 
    </td> 
</tr>"; 

ve son olarak, ben bu Stackoverflow thread

var number = $('tr').attr('id').split("-")[1]; 

$("a.toggle_showhide_links_").click(function() { 
    $("#showhide-" + (number.split("-")[1])).slideToggle(400); 
    }); 

Uncaught TypeError: Cannot read property 'split' of undefined

+0

Peki ya '$ (' # '+ this.id.replace (' link ',' showhide ')) '? –

+0

@FelixKling teşekkür ederim çalışıyor. Eminim ki bütün geceyi hiçbir işe yaramadan bunun üzerinde harcayacaktım ama bana gerçekten hızlı bir çözüm verdiniz. cevap olarak gönderebilir misin? – wilson382

cevap

0

bu çalıştı diğeri, link veya showhide bölümünün yerine geçer:

$('#' + this.id.replace('link', 'showhide'))