2017-01-25 3 views
-1

で​​要素を作成私は現在、コードのこの部分を使用しています:jQueryのHREF

for (var website in response) { 
    var row = $('<tr class="odd gradeX"/>'); 
    $('<td/>', { text: response[website]['website_name'] }).appendTo(row); 
    row.appendTo(tBody); 
} 

ありません、私はtdは、idはresponse[website]と同じである必要があり/website?id=にリンクします。それを達成する最短の方法は何でしょうか?

<td>siteName</td>response[website]内の値は、私はこのように見える要素作成するよりも、例えば2:現在$('<td/>', { text: response[website]['website_name']の結果がある場合

<td><a href="/website?id=2">siteName</a></td>を。

注:私は最短の最善の方法を探しています。必ずしも1つのソリューションではありません。

+1

私はあなたが何を求めているのか分かりません。明確にすることはできますか? – Rajesh

+0

私の投稿を確実に更新する – Delashmate

+3

なぜ1行にする必要があるのですか?あなたの同僚がそれを読むことができず、あなたが住んでいる場所を知ることができない限り、簡潔さは美しくなります。 –

答えて

2

ちょうどあなたがすでに持っているものと同様にtdaを作成します。

for (var website in response) { 
    var row = $('<tr class="odd gradeX"/>'); 
    var cell = $('<td/>'); 

    $('<a/>', { href: '/website?id=' + response[website], text: response[website]['website_name'] }) 
       .appendTo(cell); 
    cell.appendTo(row); 
    row.appendTo(tBody); 
} 
-2

$(document).ready(function() { 
 
for (var website in response) { 
 
    var row = $('<tr class="odd gradeX"/>'); 
 
    $('<td><a id="'+response[website]+'" href="#">'+response[website]["website_name"]+'</a></td>').appendTo(row);'); 
 
    row.appendTo(tBody); 
 
} 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

0

あなたはHTML文字列を作成するためにString Template Literalを使用して、ちょうど$.appendを使用することができます要素を挿入する。

var response={test:{website_name:"Test Website",id:2},foo:{website_name:"foo",id:3},bar:{website_name:"Bar Website",id:4}}; 
 

 
for (var website in response) { 
 
    var _html = `<tr class="odd gradeX"><td><a href="/website?id=${response[website]['id']}">${response[website]['website_name']}</a></td></tr>` 
 
    $('#table tbody').append(_html); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<table id="table"> 
 
    <tbody></tbody> 
 
</table>

注:文字列テンプレートは、すべてのブラウザでサポートされていません。そのために、通常の文字列連結を使用してHTML文字列を作成することができます。