创建一个bookmarklet,可以检索文本框的所有最大长度,然后在表中打印id和最大长度

Create a bookmarklet that can retrieve all max length of text box and then print the id and max length in a table

本文关键字:然后 id 打印 一个 bookmarklet 文本 检索 创建      更新时间:2023-09-26

我想使用javascript创建一个bookmarklet,它可以检索页面中所有文本框的最大长度,然后在页面下方打印一个表,其中指示所有id和最大长度。

这是我的代码,但它没有打印任何内容。

javascript: (function() {
  var body =document.getElementsByTagName('body')[0];
    var tbl = document.createElement('table');
  var tbdy = document.createElement('tbody');
    var D = document,
        i, f, j, e;
    for (i = 0; f = D.forms[i]; ++i)
        for (j = 0; e = f[j]; ++j)
            if (e.type == "text") S(e);
    function S(e) {
           var  l= document.getElementById(e.id);
            var x = document.getElementById(e.maxlength);
           var tr=document.createElement('tr');
           var td1=document.createElement('td');
           var td2=document.createElement('td');
           td1.appendChild(document.createTextNode(l));
           td2.appendChild(document.createTextNode(x));
           tr.appendChild(td1);
           tr.appendChild(td2);
          tbdy.appendChild(tr);
    }
  tbl.appendChild(tbdy);
  body.appendChild(tbl);
})

这实际上可以比现有的简单得多

工作jsfiddle:https://jsfiddle.net/cecu3daf/

您想要获取所有的输入并在它们上运行一个循环。由此,您可以动态创建一个表,并将其附加到document.body 的末尾

var inputs = document.getElementsByTagName("input"); //get all inputs
var appTable = document.createElement("table"); //create a table
var header = appTable.createTHead(); //create the thead for appending rows
for (var i=0; i<inputs.length; i++) { //run a loop over the input elements
  var row = header.insertRow(0); //insert a row to the table
  var cell = row.insertCell(0); //insert a cell into the row
  cell.innerHTML = inputs[i].maxLength; //input data into the cell
  var cell = row.insertCell(0);
  cell.innerHTML = inputs[i].id;
}
document.body.appendChild(appTable); //append the table to the document

要使其成为书签,只需将javascript:放在手边即可。没有必要将其封装在函数中。如果你愿意,你可以。

相关文章: