как превратить значение createTextNode () в ссылку? - PullRequest
2 голосов
/ 20 сентября 2019

У меня есть метод фильтра, который возвращает ключи и значения массива.Сейчас я получаю полный URL-адрес, но мне нужно, чтобы он был обернут в тег, чтобы я мог передать его URL-адресу.Метод фильтра:

let filtered = myData.map(row => 
Object.fromEntries(
    Object.entries(row).filter(it => { 
    let key = it[0]; 
    return ['Carat','Clarity','Shape', 'Color', 'Cut','Symmetry','Report', 'view' ].indexOf(key) >= 0 
    })
  )
);

значение представления, которое является последним элементом в операторе возврата, дает URL-адрес.когда я делаю следующее для генерации своей таблицы, я получаю ключи и значения, но как мне выбрать это представление (которое является ссылкой) и обернуть его в тег и поместить представление в href?

 function generateTableHead(table, data) {
      let thead = table.createTHead();
      let row = thead.insertRow();

      for (let key of data) {
        let th = document.createElement("th");
        let text = document.createTextNode(key);
      // casual formalities 
        th.appendChild(text);
        row.appendChild(th);
      }
    }

    function generateTable(table, data) {
      for (let element of data) {
        let row = table.insertRow();
        for (key in element) {
          let cell = row.insertCell();
          let text = document.createTextNode(element[key]);
          cell.appendChild(text);
        }
      }
    }


let table = document.querySelector("table");

    // create a variable from values
    generateTable(table, filtered);

    // create variable from keys
    generateTableHead(table, headArr);

1 Ответ

0 голосов
/ 20 сентября 2019

принять значение в JS и использовать innerHTML, чтобы установить элемент html для литерала шаблона элемента href ...

, например

//JS
let link = "https://yoururl.com/path/thingy";

let targetElement = document.getElementById("myDiv");

targetElement.innerHTML = `<a href=${link}>thingy</a>`;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...