I want to add "..." or ">>" icon after 100 characters in my each HTML table column. Clicking on this icon will render the content in a simple pop-up multi-line box. 'Esc' or clicking on 'X' closes the box.
I have created a table dynamically using d3.js parsing CSV file. Below are my HTML and JavaScript
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>TableView</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div id="table-wrapper"> <div id="table-scroll"> <!-- Table goes here --> </div> </div> <script src="http://d3js.org/d3.v3.min.js"></script> <script type="text/javascript" charset="utf-8" src="js/app.js"></script> </body> </html> app.js d3.csv("js/tweetBlog.csv", function(error, data) { var sortAscending = true; var table = d3.select('#table-wrapper').select('#table-scroll').append('table'); var titles = d3.keys(data[0]); var headers = table.append('thead').append('tr').selectAll('th') .data(titles).enter().append('th') .text(function (d) { return d; }) .on('click', function (d) { headers.attr('class', 'header'); if (sortAscending) { rows.sort(function(a, b) { return b[d] < a[d]; }); sortAscending = false; this.className = 'aes'; } else { rows.sort(function(a, b) { return b[d] > a[d]; }); sortAscending = true; this.className = 'des'; } }); var rows = table.append('tbody').selectAll('tr') .data(data).enter().append('tr'); rows.selectAll('td') .data(function (d) { return titles.map(function (k) { return { 'value': d[k], 'name': k}; }); }).enter() .append('td') .attr('data-th', function (d) { return d.name; }) .text(function (d) { return d.value; }); });
text-overflow: ellipsis;?