Modify function to make names also links

Viewed 36

I have a function that creates a table that consists of several elements all of which are taken from a saved file. The table has other information inside(url) Inside the table surname name and middle name(if exists) is put under one header "Full name". How can I modify this function so that it not only displays the name but makes it so that the name is also a url link?

var members = data.results[0].members;
createTable(members)

function createTable(members) {
    var table = "";
    var cols = 1;
    var rows = members.length;

    for (var r = 0; r < rows; r++) {
        table += "<tr>";
        for (var c = 0; c < cols; c++) {
            table +=
                "<td>" + members[r].first_name +", "+
                (members[r].middle_name || " ") +" "+
                members[r].last_name + "</td>";

            table += "<td>" + members[r].party + "</td>" + "<td>" + members[r].state + "</td>" + "<td>" + members[r].seniority + "</td>";
            if (members[r].votes_with_party_pct === undefined) {
                table += "<td>" + "-" + "</td>"
            } else {   
                table += "<td>" + members[r].votes_with_party_pct + "%" + "</td>"
            }
        }
        table += "<tr>";

    }
            document.getElementById("house-data").innerHTML = JSON.stringify(table);
}
1 Answers
function createTable(members) {
    var table = "";
    var cols = 1;
    var rows = members.length;

    for (var r = 0; r < rows; r++) {
        table += "<tr>";
        for (var c = 0; c < cols; c++) {
            table +=
                "<td><a href=\"YOUR_LINK_HERE\">" + members[r].first_name +", "+
                (members[r].middle_name || " ") +" "+
                members[r].last_name + "</a></td>";
...

Replace YOUR_LINK_HERE with the URL you want.

If you want to use a variable, use:

            table +=
                "<td><a href=\""+url+"\">" + members[r].first_name +", "+
                (members[r].middle_name || " ") +" "+
                members[r].last_name + "</a></td>";
Related