मैं एक अलग जेएस फ़ाइल के माध्यम से एक टेबल बनाने और इसे अपने एचटीएमएल से जोड़ने की कोशिश कर रहा हूं। यह मेरा कोड है:

// Data for the "HTML Tables" Page

var users = [
  {
    first_name: "Kaitlin",
    last_name: "Burns",
    age: 23,
    email: "kburns99753@usermail.com"
  },
  {
    first_name: "Joshua",
    last_name: "Feir",
    age: 31,
    email: "josh319726@usermail.com"
  },
  {
    first_name: "Stephen",
    last_name: "Shaw",
    age: 28,
    email: "steve.shaw47628@usermail.com"
  },
  {
    first_name: "Timothy",
    last_name: "McAlpine",
    age: 37,
    email: "Timbo72469@usermail.com"
  },
  {
    first_name: "Sarah",
    last_name: "Connor",
    age: 19,
    email: "SarahC6320@usermail.com"
  }
];

window.onload = function() {
  loadTables();
};

function loadTables() {
  var selector = this.document.querySelector("#publicTable");
  var table = "";

  for (var i = 0; i < users.length; i++) {
    table += "<tr>" +
      "<td>" + users.first_name[i] + "</td>" +
      "<td>" + users.last_name[i] + "</td>" +
      "<td>" + users.age[i] + "</td>" +
      "<td><a href=\"mailto:" + users[i].email + "\">" + users[i].email + "</></td>" +
      "</tr>";
  }
  
  selector.innerHTML += table;
}
<table id="publicTable" border="1">
  <tr>
    <th> First Name </th>
    <th> Last Name </th>
    <th> Age </th>
    <th> Email </th>
  </tr>
</table>

लेकिन समस्या यह है कि मेरी वेबसाइट में, JS फ़ाइल से कोड querySelector से टेबल की आईडी कॉल करने के बावजूद डाला नहीं गया है।

2
oo92 1 अप्रैल 2018, 00:05

1 उत्तर

आपको लूप में कोई समस्या है, पहले फिक्स पोजीशन चुनें और फिर प्रॉपर्टी

 var users = [
        {first_name: "Kaitlin", last_name: "Burns", age: 23, email: "kburns99753@usermail.com"},
        {first_name: "Joshua", last_name: "Feir", age: 31, email: "josh319726@usermail.com"},
        {first_name: "Stephen", last_name: "Shaw", age: 28, email: "steve.shaw47628@usermail.com"},
        {first_name: "Timothy", last_name: "McAlpine", age: 37, email: "Timbo72469@usermail.com"},
        {first_name: "Sarah", last_name: "Connor", age: 19, email: "SarahC6320@usermail.com"}
    ];
    
    window.onload = function(){
        loadTables();
    };
    
    function loadTables(){
            var selector = this.document.querySelector("#publicTable");
        
            var table = "";
        
            for(var i = 0; i < users.length; i++){
                table+= "<tr>" +
                "<td>" + users[i].first_name + "</td>" +
                "<td>" + users[i].last_name + "</td>" +
                "<td>" + users[i].age+ "</td>" +
                "<td><a href=\"mailto:" + users[i].email + "\">" + users[i].email + "</></td>" +
                "</tr>";
            }selector.innerHTML += table;
    }
<table id="publicTable" border="1">
            <tr>
                <th> First Name </th>
                <th> Last Name </th>
                <th> Age </th>
                <th> Email </th>
            </tr>

        </table>
1
eborrallo 31 मार्च 2018, 21:10