0

私の問題はこれです:

テーブルにいくつかのセルを作成しようとしています。このセルには、XMLドキュメントから抽出したデータが入力されますが、それらのセルもハイパーリンクにする必要があります。私はこれをやっています:

var table = $('<table></table>').addClass('table');
for(i=0;i<x.length;i++){
    var row = $('<tr></tr>').text(x.item(i).getAttribute("id")).attr('href', 'www.my-url.com/'+x.item(i).getAttribute("id"));
    table.append(row);
}

セルには必要なテキストが正しく入力されていますが、セルをクリックできません。コンソールにエラーは表示されません。私が間違っていることについて何か考えはありますか?

4

2 に答える 2

4

<tr>タグにhref属性を設定して、タグのように機能することを期待することはできません<a><a>代わりに、タグ内にタグを配置する必要があります<tr>。あなたはこのようにそれを行うことができます:

var table = $('<table class="mytable"></table>');
for (var i = 0; i < x.length; i++) {
    var txt = x.item(i).id;
    var url = 'http://www.my-url.com/' + txt;
    var row = $('<tr></tr>').html('<a href="' + url + '">' + txt + '</a>');
    table.append(row);
}

このメソッドはHTMLを作成し、ブラウザにそれを解析させます。次のように要素を直接作成することもできます。

var table = $('<table class="mytable"></table>');
for (var i = 0; i < x.length; i++) {
    var txt = x.item(i).id;
    var url = 'http://www.my-url.com/' + txt;
    var row = $('<tr></tr>')
    var link = document.createElement("a");
    link.href = url;
    link.innerHTML = txt;
    row.append(link);
    table.append(row);
}
于 2012-08-13T09:50:09.877 に答える
0

試す:

var row = $('<tr></tr>').html(....

于 2012-08-13T08:53:26.710 に答える