2016-03-30 4 views
-2

を動作を停止します私はちょうど私が必要this.id.slice(-1)のみ9代替(-1)、私のコードはすぐ

にID 0から働くことがわかりましたそれが動作を停止する前に新しい代替。これは私が持っているものです。

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

これは少なくとも5回実行されるループです。 IDは常にから1つのIDを生成するために、その後、非常に単純な方法をパターンlink-<number>showhide-<number>に従っている場合

<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>"; 

とは最後に、私はこの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

'$( '#' + this.id.replace( 'link'、 'showhide'))'はどうですか? –

+0

@FelixKlingありがとうございます。私は一夜を過ごすことに成功していると確信していますが、あなたは本当にすばやく私に解決策を教えてくれました。答えとして投稿できますか? – wilson382

答えて

0

からこれを試してみましたもう1つはlinkまたはshowhideの部分を置き換えることです:

$('#' + this.id.replace('link', 'showhide')) 
関連する問題